如何按顺序记录多个函数的返回
How to log return of multiple functions in order?
我有一个独立函数数组。有些人需要比其他人更长的时间才能回来。
var functionArray = [
function() {function1()},
function() {function2()},
...
];
我从一个for循环给他们打电话:
for(var i = 0; i < functionArray.length; i++) {
functionArray[i]();
}
我在我的应用程序中有一个文本字段,我将其用作控制台,我想首先记录功能1、2秒等的结果。
有没有一种方法可以在没有回调的情况下做到这一点?回调将使每个函数依赖于前一个函数的成功。
我想我可以在函数1()的successCallback和errorCallback中运行函数2(),但有更好的方法吗?
如果这些函数是异步的(我从描述中假设),那么使用promise和Promise.all
将是最有意义的:
Promise.all(functionArray).then(function (results) {
for (var i = 0; i < results.length; i++) {
console.log(results[i]);
}
});
请注意,您需要调整您的功能以使用promise;要么将它们分别封装在Promise
中,并让它们适当地调用resolve
回调,要么函数本身需要返回Promise
。
闭包函数可以是:
for (var i = 0; i < functionArray.length; i++) {
(function(x) {
functionArray[i]();
console.log(x);
})(i);
}
相关文章:
- ES6构造函数返回基类的实例
- 从函数返回角度承诺
- 如何从jquery函数返回变量
- 根据是否解析了 Promise 从函数返回值
- Javascript函数返回未定义
- 如果函数返回True,则显示Javascript按钮
- Google Sheet自定义函数返回0
- 从Ajax函数返回值
- 使用for循环从Javascript中的函数返回多个值
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 从函数中的函数返回数组时出错
- 如何从嵌套的API函数返回值
- 从Mongoose结果匿名函数返回父函数
- 函数返回错误'令牌{'
- Jquery函数返回订单问题
- Mocha/Chai测试链接到函数返回断言错误
- 从异步函数返回值
- 函数返回后更新变量
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 将外部函数返回的id传递给内部函数