我有两个函数,当其他函数(一和二)完成时,我想调用第三个函数。我需要将第一个函数和第二个函数称为异步函数。例如
var func1 = function( do something..... return arr )
var func2 = function ( do something ..... return arr2 )
if ( arr.length > 0 && arr2.length > 0 )
var func3 = function( do something )
Run Code Online (Sandbox Code Playgroud)
我的问题:
最好的方法是什么?
如何以异步方式调用函数?
如果你有 jQuery,你可以使用它们的Deferred对象:
var func1 = function () {
var dfd = $.Deferred();
setTimeout(function () {
// do your processing
dfd.resolve(arr1);
}, 0);
return dfd.promise();
};
var func2 = function () {
var dfd = $.Deferred();
setTimeout(function () {
// do your processing
dfd.resolve(arr2);
}, 0);
return dfd.promise();
};
$.when(func1(), func2()).then(function (arr1, arr2) {
if ( arr.length > 0 && arr2.length > 0 ) {
func3();
}
});
Run Code Online (Sandbox Code Playgroud)
相关问题:
| 归档时间: |
|
| 查看次数: |
7879 次 |
| 最近记录: |