As I understand it, `await` always fires in the next tick, if it's
observable.

The opportunity to optimize that to "same tick" exists if an engine can
prove it's not observable.

On Mon, Apr 11, 2016 at 9:54 AM, Andrea Giammarchi <
[email protected]> wrote:

> > 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 <[email protected]> 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
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to