gpt4 book ai didi

javascript - 如何在 jQuery 1.8.x 中链接一系列延迟函数?

转载 作者:行者123 更新时间:2023-12-03 13:18:20 24 4
gpt4 key购买 nike

鉴于这些功能:

function func1() {
var dfd = $.Deferred();

setTimeout(function() {
dfd.resolve('Password');
}, 1000);

return dfd.promise();
}

function func2(message) {
var dfd = $.Deferred();

setTimeout(function() {
if (message == 'Password') {
dfd.resolve('Hello World');
}
}, 1000);

return dfd.promise();
}

我想找到一种更好的方法来执行以下操作。注意这是使用 jQuery 1.8.x。
var promise = func1();

promise.done(function(message1) {

var promise2 = func2(message1);

promise2.done(function(message2) {
alert(message2);
});
});

有任何想法吗?我认为使用 jQuery #pipe 或 #then 会起作用,但我想不通。这是一个可以玩的 fiddle : http://jsfiddle.net/Z7prn/

最佳答案

这并不复杂(使用 .then.pipe ,我认为它们自 jQuery 1.8 以来都是相同的)。

func1().then(func2).done(function(message) {
alert(message);
});

由于 func2返回一个新的延迟对象 .done回调被附加到那个。

DEMO

关于javascript - 如何在 jQuery 1.8.x 中链接一系列延迟函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13651243/

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