我刚刚开始学习jQuery Deferred,但我认为我在理论上理解。当试图在脚本中使用它们时,我感觉我在滥用它们。举个例子:
var dataA = $.get('http://www.example.com');
dataA.done(function (result) {
var dataB = $.get('http://www.example.com?name='+result.name);
dataB.done(function(result) {
console.log('Data fetch successful: ' + result)
});
});
dataB
取决于dataA
的结果,因此必须保留某种执行顺序。我使用done
回调正确的是这个例子吗?
对我来说,它仍然感觉像是常规"回调地狱"因为我在dataB
内声明dataA.done
,所以怀疑有更惯用的方法。