我有很多地方想确保promise
已解决给定的问题,例如:
promise = getData();
promise.done(function(data) {
...do something to data ...
});
我可能会收到数千个done
类似上述的调用,即使在调用时也已经解决了承诺getData()
。如果我使用这样的延迟回调,开销是多少?
据我所见,Deferred()
它是基于jQuery.Callbacks()
内存的,似乎在已解决或被拒绝的承诺上添加处理程序不会将回调添加到任何地方的任何队列,而只是立即调用(或转储)它(取决于结束状态)。但是这样做是最好的做法吗?