Re: Do await statements unblock synchronously?

2016-04-11 Thread /#!/JoePea
Thanks! > "tick" is equivalent to our "turn" or "job". I thought about that, but figured tick was fine since Node has `process.nextTick`. I'll stick to "turn". On Mon, Apr 11, 2016 at 2:41 PM, Mark Miller wrote: > Essentially yes. Minor issues inline > > On Mon, Apr 11, 2016

Re: Do await statements unblock synchronously?

2016-04-11 Thread Mark Miller
Essentially yes. Minor issues inline On Mon, Apr 11, 2016 at 10:32 PM, /#!/JoePea wrote: > So just to clarify, the code following an await statement should never > run in the tick in which the await statement is executed, should never > run in the same tick in which the promise

Re: Do await statements unblock synchronously?

2016-04-11 Thread /#!/JoePea
So just to clarify, the code following an await statement should never run in the tick in which the await statement is executed, should never run in the same tick in which the promise it is awaiting gets resolved, and so should always run in a 3rd tick separate from those other two? On Mon, Apr

Re: Do await statements unblock synchronously?

2016-04-11 Thread Mark Miller
On Mon, Apr 11, 2016 at 9:31 PM, Mark S. Miller wrote: > Not necessarily "the next tick", but some future tick. Definitely not in > this tick or the tick in which the promise is resolved. > Meant: "or the tick in which the promise is settled." > Definitely in its own

Re: Do await statements unblock synchronously?

2016-04-11 Thread Mark S. Miller
Not necessarily "the next tick", but some future tick. Definitely not in this tick or the tick in which the promise is resolved. Definitely in its own tick. And yes, engines can always do whatever unobservable optimizations they want. On Mon, Apr 11, 2016 at 6:00 PM, Jordan Harband

Re: Do await statements unblock synchronously?

2016-04-11 Thread Jordan Harband
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 < andrea.giammar...@gmail.com> wrote: > > I suppose I'm asking for

Re: Do await statements unblock synchronously?

2016-04-11 Thread Andrea Giammarchi
> 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 wrote: > Is code that follows an await statement supposed to get

Do await statements unblock synchronously?

2016-04-11 Thread /#!/JoePea
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