使JS函数的返回值对其他函数可用
Making a JS function return available to other functions
我有一个函数:
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
对其他功能可用?到目前为止,如果我调用这个函数,然后log arrayOfPastUsers
,它说它是未定义的。我希望能够访问数组或将其拉到另一个函数中,以便我可以根据另一个函数对其进行计算。
我试着添加return arrayOfPastUsers
,没有帮助。我还试着加了一行:
return new Promise(function(resolve, reject){ resolve(arrayOfPastUsers);)}
也没有解决
简单的方法是在你的承诺的成功回调之外声明'arrayOfPastUsers',只是在里面分配它。这将使您可以在外部函数范围内的任何地方使用该变量。
function container(removePastUsersFromArray){
var arrayOfPastUsers = [];
removePastUsersFromArray().then(function(promises){
for(var i = 0; i < promises.length; i++){
for(var j = 0; j < promises[i].length; j++){
arrayOfPastUsers.push(promises[i][j]);
}
}
})
return arrayOfPastUsers ;
}
var myArr= new container(removePastUsersFromArray);
//myArr will be full **after** promise fulfill
将创建一个闭包
你可以让它成为一个全局数组
相关文章:
- Jquery未定义函数正在停止其他操作
- 执行php函数的onclick事件的其他替代方案
- 如何在.js函数中检索来自其他模板的表单的目标值
- 对其他函数使用匿名函数's参数
- 创建要在其他函数中使用的全局变量
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 在Meteor中如何将数据从函数内部复制到其他模板
- 在Jquery调用之间添加其他函数
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 如何从ipify函数返回ip地址,以便在其他函数中使用
- 如果没有其他函数链接到promise,则默认行为
- Javascript创建函数,以便在其他函数之间共享变量
- AngularJS:如何与其他控制器共享作用域函数和变量
- Firefox扩展开发:如何在内容脚本中创建一个全局函数,以便其他加载的脚本文件可以访问它
- 使通过函数加载的JSON可用于其他函数
- 如何使用 javascript 函数取决于是否其他
- 如何在 JavaScript 中访问函数中的其他属性值作为对象属性值
- 有没有办法将其他参数传递给 scrollTarget 回调函数
- 如何在创建的字段上应用 .change 函数 b 其他字段的 .change 函数