s-l*_*ndz 4 javascript fetch promise async-await
我想将Async / Await与访存API结合使用。因此,我有2个异步函数return result.json()。
我在中添加了2 Promise Promise.all([]),但返回的值是'function()'。
我的代码:
// Load external users
const externalUsers = async () => {
const result = await fetch(url);
return result.json();
};
const localUsers = async () => {
const result = await Users.allDocs({ include_docs: true });
return result.rows;
};
Promise.all([externalUsers, localUsers]).then(values => {
console.log(values); // return (2) [function, function]
});
Run Code Online (Sandbox Code Playgroud)
我不明白为什么。你能帮助我吗 ?
谢谢社区!
在中运行您的函数Promise.all。因此,他们将返回Promises,该Promises将被结算并传递给then函数。
Promise.all([externalUsers(), localUsers()]).then(values => {
console.log(values);
});
Run Code Online (Sandbox Code Playgroud)
你应该await你的Promise.all
const values = await Promise.all([...]);
const value1 = values[0];
...
Run Code Online (Sandbox Code Playgroud)
您看到函数的原因是因为Promise.all返回了一个需要解析的 Promise 数组。因此,通过awaiting Promise.all,您可以先等待它们全部完成/解决。
| 归档时间: |
|
| 查看次数: |
2298 次 |
| 最近记录: |