Javascript 延迟包装中的包装功能
我正在尝试创建一个队列,我可以用deferred包装传入的对象,以便使具有模型和动作属性的对象在调用下一个之前,动作只是一个ajax调用finishJavascript 延迟包装中的包装功能,javascript,jquery,typescript,Javascript,Jquery,Typescript,我正在尝试创建一个队列,我可以用deferred包装传入的对象,以便使具有模型和动作属性的对象在调用下一个之前,动作只是一个ajax调用finish var promises = []; _.each(this.List, (model) => { // List is just an object that has a Model and Action property var wrapperFunc = (() =>
var promises = [];
_.each(this.List, (model) => { // List is just an object that has a Model and Action property
var wrapperFunc = (() => {
var deferred = $.Deferred();
model.Action();
deferred.resolve();
promises.push(wrapperFunc);
});
});
问题是,模型。行动只是被调用。我做错了吗 老问题,但仍然没有答案 像model.Action这样的调用不会阻塞,除非在ajax调用中特别将async选项设置为false。ajax调用将返回一个延迟对象,而不是阻塞。使用jQuery,您可以调用jQuery.WhenFerred.thencallback或deferred.donecallback。回调是一个函数,将在ajax调用完成后运行
如果您的问题还没有得到回答,那么google对延迟进行快速堆栈溢出应该可以回答您的许多问题,我知道我会在一年后发布这些问题。您的代码只调用延迟解析,而不等待操作完成。