gpt4 book ai didi

javascript - for each 循环中的异步代码

转载 作者:行者123 更新时间:2023-11-29 18:39:37 25 4
gpt4 key购买 nike

这是我的第一篇文章,因为我通常会通过旧消息找到一种方法来回答我的问题...但这次我被卡住了。我希望你能帮助我。

searchUser.forEach(function(item, i) {
getUser(item)
.then(objUser => {
console.log(i);
console.log(objUser);
name = objUser.name;
let idConversation = objUser.id;
createNewConversation(name, idConversation)
})
})

我的getUser是一个异步函数,不知道为什么,我的构造好像不行。它只会创建我的对话数量,但会产生上次对话的内容,而不是其他对话的内容……知道我在那里遗漏了什么吗?顺便说一句,console.log(i) 给出了 1,然后是 0

仅供引用,getUser 是一个函数,它返回 用户的数据。

最佳答案

在 forEach 循环中有一个异步函数可能很难调试,我建议使用 Promise.all在所有 promise 都解决后调用 createNewConversation :

const promises = searchUser.map(item => getUser(item));

Promise.all(promises).then(result => {
result.forEach(({ name, id }) => {
createNewConversation(name, id);
});
});

关于javascript - for each 循环中的异步代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58186499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com