История изменений
Исправление 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, не говоря о прочих браузерах.