gpt4 book ai didi

javascript - 使用 jQuery 延迟的问题

转载 作者:行者123 更新时间:2023-12-03 12:16:45 27 4
gpt4 key购买 nike

我正在使用 jQuery Deferred。当我点击链接打开模式对话框时,我想做两件事;

  1. 调用我的 API
  2. 调用我的模板(其中将填充来自 API 的值)

所以我正在做以下事情;

self.myModel = new myModel();
self.myModel.url = "api/myModel/";

self.scenarioRecInfoDeferred = new $.Deferred();
self.myModel.fetch({
success : function(){
myModelDeferred.resolve();
}
});


self.tmplDeferred = new $.Deferred();


$.when(self.myModelDeferred, self.tmplDeferred).done(function(modalTemplates) {

});

require(['text!templates/mytemp/my-tpl.html'], function(modalTemplates) {
self.tmplDeferred.resolve(modalTemplates);
});

现在我没有得到任何“modalTemplates”的信息

$.when(self.myModelDeferred, self.tmplDeferred).done(function(modalTemplates) {}

我在访问/传递参数时做错了什么吗?

最佳答案

我相信您的 .done() 函数处理程序中需要 2 个参数。第一个参数将对应于 myModelDeferred 参数(未定义),第二个参数将对应于 tmplDeferred 参数。

我做了一个快速的 jsfiddle 来测试自己。

var action1 = $.Deferred();
var action2 = $.Deferred();

setTimeout(function(){
action1.resolve();
}, 1000);

setTimeout(function(){
action2.resolve("def", "ghi");
}, 500);

$.when(action1.promise(), action2.promise()).done(function(args, args2){
console.log(args); // undefined
console.log(args2); // ["def", "ghi"]
});

DEMO

希望这有帮助!

关于javascript - 使用 jQuery 延迟的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24652935/

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