我试图更好地理解承诺并实现了基本上如下的代码:
console.log(getRemoteData())
function getRemoteData (){
return fetch('http://w.x.y.z')
.then(response => {
return response.json();
});
}

假设getRemoteData()
返回一个承诺,我该如何访问该响应的值?我已经尝试在登录到控制台之前解决了这个承诺,除了记录承诺obj之外,我无法做任何事情。我想我错过了承诺如何运作的基本组成部分。
我已经尝试搜索过,我发现所有答案都指向//do something with the returned data
方法中的.then()
评论,但我想知道我应该从那里做些什么。返回的值为array[]
。
答案 0 :(得分:1)
fetch(...)
会返回一个承诺,response.json()
会返回另一个承诺。
返回的值不是数组,而是数组的 promise 。它应该是:
getRemoteData().then(result => {
console.log(result);
});
与async
函数(ES2017)中的同步代码类似,结构可以展平。它们是承诺的语法糖,这个片段与前一个相同:
(async () => {
const result = await getRemoteData();
console.log(result);
})();
答案 1 :(得分:1)
如果您还在ES2015上,请使用co
malloc