Тема: Promise polyfill
Показать сообщение отдельно
  #45 (permalink)  
Старый 11.05.2014, 01:32
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Добавил поддержку thenable
var thenable = {
    then: function (onFulfilled) {
        onFulfilled(5);
    }
};


Promise.resolve(thenable).then(function (value) {
    console.log(value); //5
});


Promise.resolve().then(function () {
    return thenable;
}).then(function (value) {
    console.log(value); //5
});


Promise.race([thenable]).then(function (value) {
    console.log(value); //5
});


Promise.all([thenable]).then(function (values) {
    console.log(values[0]); //5
});


promise.then(thenable) выбросит исключение наружу, как в Chrome, Aurora игнорирует.

thenable.then всегда запускается асинхронно, как в Chrome (в Aurora синхронно), обсуждение бага:
https://github.com/getify/native-promise-only/issues/5
https://github.com/domenic/promises-...ing/issues/105

Последний раз редактировалось Octane, 11.05.2014 в 01:37.
Ответить с цитированием