jquery Deferredの例
1107 ワード
様々なコールバックはプログラムを同期させるために、1つをやり終えてもう1つをやるので、jQueryにはDeferredがあり、中国語翻訳は遅延ですが、個人的には非同期対列だと思いますので、例を見てみましょう
例1:
例2
例3
例1:
function A() {
var deferred = $.Deferred();
setTimeout(function() {
deferred.resolve("A return!");
}, 1000);
return deferred.promise();
}
function B(value) {
var deferred = $.Deferred();
setTimeout(function() {
deferred.resolve(value + "B return!");
}, 1000);
return deferred.promise();
}
function C(value) {
alert(value)
}
A().then(B).then(C);
例2
$.when(function(){
return "aaaaa";
}).then(function(bb){
alert(bb());
}).done(function(aa) {
console.log(" ");
});
例3
var wait = function (dfd) {
var task = function () {
alert('completed!!');
dfd.resolve(" ");
}
setTimeout(task, 5000);
}
$.Deferred(wait).done(function (str) {
alert(str)
});