在javascript、jQuery中参数化异步函数链的变量回调
我对表格的功能有一个编号:在javascript、jQuery中参数化异步函数链的变量回调,javascript,jquery,asynchronous,callback,deferred,Javascript,Jquery,Asynchronous,Callback,Deferred,我对表格的功能有一个编号: function A() { asychProcessA( someCallBack(); ) } function B() { asychProcessB( someCallBack(); ) } function C () { asychProcessC( someCallBack(); ) } 有时,我会希望以串联方式实现这些功能,如: function A()
function A() {
asychProcessA(
someCallBack();
)
}
function B() {
asychProcessB(
someCallBack();
)
}
function C () {
asychProcessC(
someCallBack();
)
}
有时,我会希望以串联方式实现这些功能,如:
function A() {
asychProcessA(
functionB();
)
}
但我也希望能够选择使用其他回调函数单独实现其中一个函数,如
function A() {
asychProcessA(
someOtherCallBack();
)
}
有人能提出一个优雅而多功能的设置方法吗。我在这个项目中使用jQuery,所以这是一个公平的游戏。$。Deferred()似乎是通过下面的实现来实现的
function A(input) {
var def = $.Deferred();
asychProcessA(
someCallBack();
def.resolve(someInput);
)
return def.promise();
}
function B(input) {
var def = $.Deferred();
asychProcessB(
someCallBack();
def.resolve(someInput);
)
return def.promise();
}
//Implementation1: Use B() as call back for A()
A(someInput1).done(
function(){
B(someInput2);
}
);
//Implementation1: Use random() as call back for A()
A(someInput1).done(
function(){
random(someInput2);
}
);
在JS中,始终可以将函数作为参数传递。在编写三个以上的函数时,我很难让它正常工作。