JSPromise can do the same thing if it is re-designed.
<rdar://problem/54736318>
*** This bug has been marked as a duplicate of bug 203400 ***