【发布时间】:2019-10-01 14:03:51
【问题描述】:
这是我的第一篇文章,因为我通常会通过旧消息找到一种方法来回答我的问题......但这一次我被卡住了。我希望你能帮助我。
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 是一个函数,它返回来自用户的数据。
【问题讨论】:
-
如果在
name变量前使用关键字 (let/const/var),则您将变量设置在回调函数的范围之外 -
真的!谢谢康斯坦丁,但这并不能改变问题。
-
使用数组或对象来存储每次迭代的结果
-
createNewConversation(name, idConversation) 方法创建带有名称和 ID 的对话??你能展示一下这个方法是如何实现的吗?
-
其实我简化了一下这个例子。 createNewConversation 工作正常。问题出在 for Each 循环中的异步 getUser 上。而且我的 getUser 里面还有另一个回调......
标签: javascript asynchronous foreach