Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 延迟包装中的包装功能_Javascript_Jquery_Typescript - Fatal编程技术网

Javascript 延迟包装中的包装功能

Javascript 延迟包装中的包装功能,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 = (() =>

我正在尝试创建一个队列,我可以用deferred包装传入的对象,以便使具有模型和动作属性的对象在调用下一个之前,动作只是一个ajax调用finish

        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对延迟进行快速堆栈溢出应该可以回答您的许多问题,我知道我会在一年后发布这些问题。

您的代码只调用延迟解析,而不等待操作完成。