JS Qライブラリ - 盗難に駆げつきます
-
23-12-2019 - |
質問
Kris Koval Qライブラリを発見しています、そして私は問題があります。この簡単なコードを見てください:
function getPromise1() {
var deferred = Q.defer();
setTimeout(function () {
console.log('Promise 1 OK');
deferred.resolve();
}, 1000);
return deferred.promise;
}
function getPromise2() {
var deferred = Q.defer();
setTimeout(function () {
console.log('Promise 2 Failed');
deferred.reject();
}, 1000);
return deferred.promise;
}
getPromise1()
.then(getPromise2())
.fail(function () {
alert('Fail!');
})
.done();
.
見ることを期待しています:
Promise 1 OK
Promise 2 Failed
.
でアラートを表示します。ただし、アラートは表示されません。その代わりに私のコンソールで警告が表示される:
[Q] Unhandled rejection reasons (should be empty): ["(no stack) undefined"]
.
拒否が処理されていないのか、そしてどのように処理することができますか?
解決
then
関数では、getPromise2
getPromise2()
関数だけを渡す必要があります。
getPromise1()
.then(getPromise2) // NOTE: We are not calling it here
.fail(function () {
console.log('Fail!');
})
.done();
. 所属していません StackOverflow