下記の3つの自作関数それぞれの出力結果について、
test1ではpromiseの結果が出力されるのですが、
test2とtest3ではPromiseオブジェクトが出てしまうのが謎です。
返却値の出どころはすべて
const json = res.json();
なのですが。
なぜなのかご教示いただけますと幸いです。
JavaScript
1'use strict'; 2 3const url = 'https://www.jma.go.jp/bosai/forecast/data/overview_week/130000.json'; 4 5const test1 = () => { 6 fetch(url) 7 .then((res) => { 8 const json = res.json(); 9 return json; 10 }) 11 .then((json) => { 12 console.log(json); // {publishingOffice: "気象庁", ... 13 }); 14}; 15 16const test2 = () => { 17 fetch(url) 18 .then((res) => { 19 const json = res.json(); 20 return { json }; 21 }) 22 .then(({ json }) => { 23 console.log(json); // Promise {<pending>} 24 }); 25}; 26 27const test3 = () => { 28 fetch(url) 29 .then((res) => { 30 const json = res.json(); 31 return [json]; 32 }) 33 .then((arr) => { 34 const json = arr[0]; 35 console.log(json); // Promise {<pending>} 36 }); 37}; 38 39test1(); 40test2(); 41test3();
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/08 04:28