Add new function waitFor

Michał Wadas michalwadas at
Thu Nov 16 12:37:40 UTC 2017

I wish we can have annex like "if host environment supports scheduling
tasks to run after certain time, it have to expose Promise.delay method
working in following way:".

But it's unlikely to happen because TC39 opposes describing communication
with outside world in spec.

On 16 Nov 2017 1:21 pm, "Naveen Chawla" <naveen.chwl at> wrote:

> Wouldn't it be more useful to have an async `delay(milliseconds)`
> function, which simply takes a number (as an alternative to setTimeout),
> instead of having to pass in a function whose code is executed and then the
> code after it??? I have suggested that here before, but it happens to be a
> browser spec feature thing, not a core language thing (at least not yet) -
> since setTimeout itself is not yet in the core language, as far as I know
> On Thu, 16 Nov 2017 at 16:50 Eugene Melnikov <melnikaite.melnikaite at gmail.
> com> wrote:
>> It’d be great to see native implementation of `waitFor` function. This
>> function is used a lot in test frameworks and sometimes it’s necessary to
>> wait something via polling. The syntax should be `await
>> waitFor(function/primitives, timeout)`. Once function in first argument
>> return anything except `false`, `null` or `undefined` next line of code
>> will be executed. Second argument means period of time in ms to run
>> function from first argument. Returned value of `waitFor` will be forwarded
>> from executed function. In case first argument if primitive the first
>> argument will be returned after delay specified in second argument. So it
>> will be easy to make simple delay `async waitFor(true, 1000)` instead of
>> `await new Promise(r => setTimeout(r, 1000))`.
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at
> _______________________________________________
> es-discuss mailing list
> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list