-1
是否有可能爲Angular2中的相同Promise提供多個處理程序?例如,如果我設計了一個服務並希望允許多個客戶訂閱它並在Promise解決時得到通知?有多個處理程序的角度許諾
請注意,我不是問如何從服務中返回多個值,也不是問如何鏈接Promises。
是否有可能爲Angular2中的相同Promise提供多個處理程序?例如,如果我設計了一個服務並希望允許多個客戶訂閱它並在Promise解決時得到通知?有多個處理程序的角度許諾
請注意,我不是問如何從服務中返回多個值,也不是問如何鏈接Promises。
基本思想不是將回調添加到由then
返回的承諾中,而是將它們添加到最初的承諾中。類似的東西會做:
let a = [fn1, fn2];
let p = new Promise(fn);
a.forEach(fn => {p.then(fn)});
let callbacks = [fn1, fn2 ...]
promise.then((resolvedValue) => {
callbacks.forEach(fn => fn(resolvedValue));
}
只需調用'then'對當初的諾言,像這樣的'設p =新的承諾(FN); p.then(調用callback1); p.then(callback2);'。這不是鏈接,因爲你將回調添加到最初的承諾中,而不是''然後' –
@Maximus返回的那個 - 並且如果我不知道有多少個回調有多少?我假設我會在數組中存儲回調? – Jack
那麼它會發生什麼變化? 'let a = [fn1,fn2];讓p = new Promise(fn); a.forEach(fn => {p.then(fn)});' –