可以使用回调确定两个任务的顺序,如下所示。
a(b);
function a(callback) {
// do something
callback();
}
function b() {
// do next
}
请参阅Fiddle
先做a()
,然后做b()
。
我想连接两个以上的任务。 当我处理相当大的功能时,我正在寻找类似的东西:
a(b(c));
首先执行a()
,然后执行b()
,然后执行c()
。
但是我没有成功。见Fiddle
有没有一种简单的方法可以这样做,也许不需要Promise?
答案 0 :(得分:1)
您立即呼叫b
,而不是将回传传递给a
。您需要使用函数表达式:
a(function(aResult) {
b(c);
});
当然,您可以通过从所有函数返回闭包来避免这些:
function a(callback) {
return function(args) {
// do something
if (callback) callback(res);
};
}
function b(callback) {
return function(aResult) {
// do next
if (callback) callback(res);
};
}
function c(callback) {
return function(bResult) {
// do next
if (callback) callback(res);
};
}
你会这样称呼:
a(b(c())();