Given an unresolved deferred (dfd
), and a then-able promise (promise
), which may or may not be deferred, is there a way to 'proxy' the promise into the deferred?
The semantics should be as so:
promise.then(dfd.resolve, dfd.reject);
The $q documentation only mentions handling of rejected promises (and furthermore, only promises rejected in a certain way):
defered.resolve(value) – resolves the derived promise with the value. If the value is a rejection constructed via $q.reject, the promise will be rejected instead.
This makes it unclear if dfd.resolve(promise)
is valid/supported. Also, I cannot use $q.when
(which does take a then-able) because the promise of the defered has already been returned.
The Angular version is 1.2.x.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…