A promise that resolves after a delay.

Andrea Giammarchi andrea.giammarchi at gmail.com
Wed Feb 3 21:28:04 UTC 2016


as pointed out offlist, the second line of my previous snippet was to
shortcut the following:

`new Promise(resolve => setTimeout(() => resolve("some value"), 1000));`

assuming `"some value"` was static. In case it's not the `new Promise(r =>
setTimeout(r, 1000)).then(()=>"some value");` is the way I'd go.

Best Regards










On Wed, Feb 3, 2016 at 9:03 PM, Andrea Giammarchi <
andrea.giammarchi at gmail.com> wrote:

> Chiming in just to underline that setTimeout and setInterval accepts extra
> arguments since about ever so that the following is eventually all you need.
>
> ```js
> new Promise(r => setTimeout(r, 1000));
> new Promise(r => setTimeout(r, 1000, "some value"));
> ```
>
> Best Regards
>
>
>
>
> On Wed, Feb 3, 2016 at 8:51 PM, JD Isaacks <jd at jisaacks.com> wrote:
>
>> I think it would be super useful to be able to do something like:
>>
>> Promise.after(1000).then( /* cb */ );
>>
>> and have the promise resolve after 1000 milliseconds.
>>
>> The promise would just resolve with the same value (in this case 1000)
>> but could easily delay resolving another value like so:
>>
>> Promise.after(1000).then(() => "other value");
>>
>> instead of currently having to use a setTimeout:
>>
>> new Promise(resolve => setTimeout(() => resolve("some value"), 1000));
>>
>> I believe Promise.after would be so much more readable and useful.
>>
>> I am not sure if the name `after` is the best name, `wait`, `when`,
>> `sleep` are possible names or maybe there is a better name I haven't even
>> thought of.
>>
>> _______________________________________________
>> 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/20160203/c173efe7/attachment.html>


More information about the es-discuss mailing list