Каков правильный результат разрешения обещания с самим собой? - PullRequest
0 голосов
/ 03 марта 2019

Вот обещание , которое прошло promises-aplus-tests . Если запустить код ниже, в консоли ничего не будет отображаться.Но если я переключусь на использование узла Promis узла.js, он покажет 'цикл обнаружения цепочки, обнаруженный для обещания' .Они оба в порядке?Или просто в обещаниях-апл-тестах отсутствует этот контрольный пример?

Как Обещания / Стандарт A + говорит

2.3.1 Если обещание и x относятся к одному и тому жеобъект, отклоните обещание, указав в качестве причины ошибку TypeError.

var myPromise = new MyPromise (function (resolve) {
    setTimeout(function () {
        resolve(myPromise);
    }, 0);
});
myPromise.then(function (value) {
    console.log('then',value);
}, function (err) {
    console.log('catch',err.message);
});

Bluebird зарегистрируйте так же, как node.js; Q регистрация анонимной функции

function (resolve) {  
    setTimeout(function () {
        resolve(myPromise);
    }, 0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...