Javascript 如何按顺序记录多个函数的返回?

Javascript 如何按顺序记录多个函数的返回?,javascript,Javascript,我有一系列独立的函数。有些需要比其他人更长的时间才能返回 var functionArray = [ function() {function1()}, function() {function2()}, ... ]; 我从for循环中调用它们: for(var i = 0; i < functionArray.length; i++) { functionArray[i](); } for(变量i=0;i

我有一系列独立的函数。有些需要比其他人更长的时间才能返回

var functionArray = [
    function() {function1()},
    function() {function2()},
    ...
];
我从for循环中调用它们:

for(var i = 0; i < functionArray.length; i++) {
    functionArray[i]();
}
for(变量i=0;i
我在我的应用程序中有一个文本字段,用作控制台,我想先记录函数1的结果,然后记录函数2的结果,等等

有没有一种不用回调就能做到这一点的方法?回调将使每个函数依赖于前一个函数的成功


我想我可以在function1()的successCallback和errorCallback中运行function2(),但是有更好的方法吗?

如果这些函数是异步的(我从描述中假设),那么使用Promissions并将最有意义:

Promise.all(functionArray).then(function (results) {
    for (var i = 0; i < results.length; i++) {
        console.log(results[i]);
    }
});
Promise.all(函数数组)。然后(函数(结果){
对于(var i=0;i

请注意,您需要调整您的功能,以便与承诺一起工作;要么将它们分别包装在一个
Promise
中,让它们适当地调用
resolve
回调,要么函数本身需要返回一个
Promise

闭包函数:

for (var i = 0; i < functionArray.length; i++) {
    (function(x) {
        functionArray[i]();
        console.log(x);
    })(i);
}
for(变量i=0;i
如果功能相互独立,为什么日志会相互依赖?