我有两个函数,我想在它们之间同步 第一个函数是异步函数。 只有当我从第一功能我要打电话到第二功能 得到的结果我想这个代码如何同步异步函数与延迟jquery
$.when(update().then(function (data) {
alert(1);
$.when(func1(),func2()).then(function(dataFunc1,dataFunc2) {});
});
update : function(){
var dfd = $.Deferred();
d3.json("test.json", function(json) {
var data = createData()
dfd.resolve(data);
return dfd.promise();
}};
问题,该更新被称为然后打电话给D3,JSON和不做d3的逻辑,json因为它是异步函数,所以alert(1)被提升。
我认为只有当更新函数完成后,我才会有d3.json的数据,然后警报(1)会提升。
我错过了什么吗? 我也读reslove和承诺,我需要使用reslove只有当我需要传递参数?当我需要使用诺言时?
的逻辑决心和承诺有什么不同? – user1365697
@ user1365697'resolve'的意思是“告诉谁在等待这件事完成它已经完成”,'promise'是一个令牌给你的消费者,这样他们就可以听到这个决心。 – jbabey
我需要使用它们吗? – user1365697