async / await について、質問させて頂きます。
以下の場合、コンソールログには"Leanne Graham"が表示されます。【期待通り】
Javascript
1async function access(url) { 2 const res = await fetch(url); 3 const json = await res.json(); 4 console.log(json.name); 5} 6const url = 'https://jsonplaceholder.typicode.com/users/1'; 7access(url);
以下の場合、コンソールログにはundefinedと表示されます。【期待通りでない】
Javascript
1async function access(url) { 2 const res = await fetch(url); 3 const json = res.json(); 4 console.log(json.name); 5} 6const url = 'https://jsonplaceholder.typicode.com/users/1'; 7access(url);
私の理解では、「fetch(url)」の結果(Promise.resolve)が返ってくるまで待っていて、
resに結果が入ってから次の「res.json()」が実行される認識ですので、
「res」が「undefined」とはならないのでは?という疑問です。
どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/06/04 00:35
退会済みユーザー
2022/06/04 01:00 編集
2022/06/04 13:57