-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Description
Version
2.5.8
Reproduction link
https://codepen.io/anon/pen/VrXxGY
Steps to reproduce
Please run codepen provided.
Check out console for output: listener3, listener2, listener1 got resolved and talker got notifed back on their resolution
- listener3 uses setTimeout callback resolver
- listener2 uses $bus.$on callback resolver
- listener1 uses $bus.$on callback resolver wrapped by a Promise
Case 1. Among listeners, have only listener2 (comment out listener3 and listener1)
Case 2. Among listeners, have listener3 and listener2 (comment out listener1)
What is expected?
Case 1. Talker should be notified back on listener2 resolution
Case 2. Talker should be notified back on listener2 resolution independently from (asynchronously to) listener3 resolution.
What is actually happening?
Case 1. Talker has never notified back on listener2 resolution
Case 2. Talker has notified back on listener2 resolution simultaneously (synchronously) to listener3 resolution (i.e. listener2 resolution is delayed until listener 3 timed out)
"Normal" combinations are:
- listener1 and listener3: listener1 resolves asynchronously to listener3
- listener1 and listener2: both resolves (which is kinda surprising since listener2 alone never resolves, see Case 1 above)
- listener3, listener2 and listener1