我试着去理解promise。所有这些都在使用async Wait的映射函数中,但我似乎返回了挂起的promise,我不明白为什么
这是工作代码,当我有一个.然后解决我的promise
const arr = [1, 2, 3, 4, 5];
const results = Promise.all(arr.map( item => {
return item + 1;
}));
results.then(result=> console.log(result))
哪个日志与预期一致=[2,3,4,5,6]
现在,为了实现使用async等待的功能,我知道我需要用关键字async包装异步函数中的函数,并等待promise.all
const results = async () => await Promise.all(arr.map(async (item) => {
return item + 1;
}));
console.log(results())
但我似乎总是记录下我的promise{
与前面提到的其他答案一样,async返回一个promise。这就是你得到的原因
Promise { <pending> }
不管你所做的是否有意义,你都可以用它来兑现你的promise
js prettyprint-override">const results = async () =>
await Promise.all(
[1, 2, 3, 4, 5].map(async item => {
return item + 1;
})
);
results().then(e => console.log(e));
您所做的是为结果分配一个异步函数,而不是等待异步函数的工作方式。您需要为结果指定一个promise,并避免然后
回调链接,我们可以使用async/await
获得响应。
js lang-js prettyprint-override">const arr = [1, 2, 3];
const results = Promise.all(arr.map(async (item) => {
return item + 1;
}));
async function output () {
console.log(await results);
}
output();
使用asnyc
/wait
不会使结果
函数同步。(它字面上被标记为async
!)因此,它返回一个promise,在记录值之前,您必须等待:
js prettyprint-override">const arr = [1, 2, 3];
const results = Promise.all(
arr.map(async item => item + 1)
);
(async () => {
console.log(await results)
})();
我一直试图理解C#中的Async/await和Task,但尽管看了youtube视频,阅读了文档,并参加了pluralsight课程,但一直失败得很厉害。 我希望有人能帮助回答这些稍微抽象的问题,帮助我的大脑摆脱困境。 1.为什么说async/await启用了一个“Asynchonrous”方法,而async关键字本身什么也不做,而await关键字添加了一个挂起点?添加挂起点不是强制方法同步操作,
问题内容: 之间有什么区别: 还有这个 ? 我知道在第一个摘要中,所有的诺言都同时被兑现了,但是我不确定第二个。for循环是否等待第一次迭代完成以调用下一个promise?还是所有的诺言都在同一时间触发,循环的内部就像它们的回调一样? 问题答案: 是的,它们绝对不同。应该与异步迭代器一起使用,而不是与预先存在的promise数组一起使用。 为了清楚起见, 与…相同 要么 在等待任何事情之前,这些呼
我正在尝试将数据库调用移出控制器,以清理并使其可测试。当它们在控制器中时,一切都会顺利进行。我将它们移出控制器,并添加了一个异步,以确保我们等待。否则,我将调用的中的函数。现在,一旦我使用async/await,控制器中的函数就会认为没有用户,因为它没有等待。 有几个关于异步等待的SO问题,但我没有找到一个解决我的问题。我确实验证了返回了我的用户,并添加了控制台日志来显示路径。 节点猫鼬异步等待似
我试图在react/electron项目中使用async/await,但它不起作用。我想要的是获取docker容器状态列表。但是安慰。日志(列表)返回未定义的。 有人能帮我吗?:)
我已经安装了babel-preset-es2017和babel-preset-env并更新了babelrc中的预置,但仍然给出了这个错误 是不是少了什么?
我正试图将图像上传到firebase存储,但调用该函数时,未执行wait以获取url。我错过了什么? 看看这个其他主题,我发现问题可能是“然后”,但我如何设置代码以等待url? 异步/等待/然后飞镖/颤振 谢谢