【发布时间】:2017-02-02 21:00:35
【问题描述】:
我有一个函数:
removePastUsersFromArray().then(function(promises){
var arrayOfPastUsers = [];
for(var i = 0; i < promises.length; i++){
for(var j = 0; j < promises[i].length; j++){
arrayOfPastUsers.push(promises[i][j]);
}
}
})
如何使arrayOfPastUsers 可用于其他功能?到目前为止,如果我调用这个函数然后记录 arrayOfPastUsers 它说它是未定义的。我希望能够访问该数组或将其拉入另一个函数,以便我可以根据另一个函数评估它。
我尝试添加 return arrayOfPastUsers,但没有帮助。我也尝试在该行中添加:
return new Promise(function(resolve, reject){ resolve(arrayOfPastUsers);)}也没有解决
【问题讨论】:
-
为什么要将
Promise对象数组与其他对象进行比较?要回答您的问题,只需在您要访问的范围内声明arrayOfPastUsers。 -
您将遇到与异步代码相关的问题。即使您安排其他代码访问该数组,您如何确定在其他代码访问之前已经调用了
.then()回调? -
@DanielB 这就是我所说的。我有一个 promise.all 给我 2 个数组。我已将它们组合成 1 个数组 (arrayOfPastUsers),然后我希望该数组在另一个函数中可用,但不知道该怎么做
-
@Pointy 肯定有办法做到这一点吗?数组肯定可以用于其他函数吗?
-
@JaromandaX 我的意思是。该数组中的任何对象都可以被另一个函数使用。
标签: javascript arrays promise return