我想知道爲什麼BlueBird希望在承諾的回調中採取行動。像:藍鳥承諾和回調
var pr = new Promise(function(successCb, errorCb){
// do what you need
successCb();
});
pr.then(function(){
// react to promise resolved
});
我預計將有一個類似的流程:
var pr = new Promise;
// do what you need
pr.resolve();
pr.then(function(){
// react to promise resolved
});
我不知道爲什麼,以避免回調的格局要我使用回調。這是否需要特定原因?
是不是'' '新的Promise(...)'''只是callb的包裝器ack-like功能? Promisify可以爲你做所有的工作。 – Evers
將操作代碼放在回調中允許在稍後的點執行並鏈接。簡而言之,它是一種依賴注入模式,可以隔離問題併爲長時間運行或嵌套順序操作提供靈活的「API」。這就是爲什麼「呼叫需要來自內部」,這樣外部世界只需要擔心已完成(不),而不是如何完成。 – dandavis
你可以編寫你自己的lib,它會像你建議的那樣流動。事實上,我會試着去看看這樣一個安排帶來的侷限性,這應該讓你更深刻地理解爲什麼承諾會像他們一樣。 – dandavis