我有很多地方想要确定给定的promise
已解决,例如:
promise = getData();
promise.done(function(data) {
...do something to data ...
});
我可能会收到上述数以千计的done
个电话,即使在致电getData()
时,承诺也已得到解决。如果我使用像这样的延迟回调,会有什么开销呢?
据我所知,Deferred()
基于带有内存的jQuery.Callbacks()
,似乎在已解析或被拒绝的承诺上添加处理程序不会将回调添加到任何位置的任何队列并立即调用(或转储)它(取决于最终状态)。但最佳做法是这样做吗?