LINUX.ORG.RU

История изменений

Исправление x3al, (текущая версия) :

EDIT: к чёрту это, https://ponyfoo.com/articles/understanding-javascript-async-await

babel умеет всё это.

Исправление x3al, :

Исправление x3al, :

ES5 (можно без babel): https://github.com/petkaantonov/bluebird/tree/2.x#quick-start

ES6 (babel либо chrome/firefox/edge; не ie/safari): можешь писать let result = yield someAsyncFunction(); и обходиться без коллбэков вообще, но вокруг всего этого нужен раннер В ES6-совместимых браузерах (всё кроме IE11) — можно вместо async/await пользоваться генераторами, обёрнутыми в раннер. Например, в Promise.coroutine из bluebird.

ES next (babel либо ms edge): можно тупо

let result = await someAsyncFunction();
await sleep(2000); // который из sleep'ов у тебя есть, обычно — обёртки над setTimeout
let yourPropertyResult = await yourSetProperty();
без всяких раннеров.

babel может всё, в том числе сделать последний пример запускабельным в (почти) любом IE, не говоря о прочих браузерах.

Исправление x3al, :

ES5 (можно без babel): https://github.com/petkaantonov/bluebird/tree/2.x#quick-start

ES6 (babel либо chrome/firefox/edge; не ie/safari): можешь писать let result = yield someAsyncFunction(); и обходиться без коллбэков вообще, но вокруг всего этого нужен раннер В ES6-совместимых браузерах (всё кроме IE11) — можно вместо async/await пользоваться генераторами, обёрнутыми в раннер. Например, в Promise.coroutine из bluebird. ES next (babel либо ms edge): можно тупо

let result = await someAsyncFunction();
await sleep(2000); // который из sleep'ов у тебя есть, обычно — обёртки над setTimeout
let yourPropertyResult = await yourSetProperty();
без всяких раннеров.

babel может всё, в том числе сделать последний пример запускабельным в (почти) любом IE, не говоря о прочих браузерах.

Исправление x3al, :

ES5 (можно без babel): https://github.com/petkaantonov/bluebird/tree/2.x#quick-start

ES6 (babel либо chrome/firefox/edge; не ie/safari): можешь писать let result = yield someAsyncFunction(); и обходиться без коллбэков вообще, но вокруг всего этого нужен раннер В ES6-совместимых браузерах (всё кроме IE11) — можно вместо async/await пользоваться генераторами, обёрнутыми в раннер. Например, в Promise.coroutine из bluebird. ES next (babel либо ms edge): можно тупо

let result = await someAsyncFunction();
await sleep(2000);
let yourPropertyResult = await yourSetProperty();
без всяких раннеров.

babel может всё, в том числе сделать последний пример запускабельным в (почти) любом IE, не говоря о прочих браузерах.

Исходная версия x3al, :

ES5 (можно без babel): https://github.com/petkaantonov/bluebird/tree/2.x#quick-start

ES6 (babel либо chrome/firefox/edge; не ie/safari): можешь писать let result = yield someAsyncFunction(); и обходиться без коллбэков вообще, но вокруг всего этого нужен раннер В ES6-совместимых браузерах (всё кроме IE11) — можно вместо async/await пользоваться генераторами, обёрнутыми в раннер. Например, в Promise.coroutine из bluebird. ES next (babel либо ms edge): можно тупо

let result = await someAsyncFunction;
await sleep(2000);
let yourPropertyResult = await yourSetProperty();
без всяких раннеров.

babel может всё, в том числе сделать последний пример запускабельным в (почти) любом IE, не говоря о прочих браузерах.