Do await statements unblock synchronously?

Andrea Giammarchi andrea.giammarchi at gmail.com
Mon Apr 11 16:54:14 UTC 2016


> I suppose I'm asking for cases where the await statement's promise is
unresolved.

isn't that a "forever pending"? then AFAIK it should "forever await" ...
right?

On Mon, Apr 11, 2016 at 5:50 PM, /#!/JoePea <joe at trusktr.io> wrote:

> Is code that follows an await statement supposed to get executed in
> the same tick in which the statement's awaited promise is resolved?
> F.e.:
>
> ```js
> let resolve = null
> const somePromise = new Promise(r => resolve = r)
>
> ~async function() {
>   await somePromise
>   doSomething()
> }()
>
> // ... time passes
> resolve()
> ```
>
> Should `doSomething()` fire in that same tick as when `resolve()` is
> called? I already know that if this is true, there's at least one
> exception: `await Promise.resolve()`, in that the await statement must
> still defer to a future tick even though the given Promise is already
> resolved. I suppose I'm asking for cases where the await statement's
> promise is unresolved.
>
> - Joe
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20160411/4038b90f/attachment.html>


More information about the es-discuss mailing list