gpt4 book ai didi

javascript - 为 javascript、jQuery 中的异步函数链参数化变量回调

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:48:03 24 4
gpt4 key购买 nike

我有一个表单函数的编号:

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);
}
);

关于javascript - 为 javascript、jQuery 中的异步函数链参数化变量回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20580805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com