3 回答

TA貢獻1946條經驗 獲得超3個贊
promise1 rejected promise2 rejected promise3 rejected
promise.then(function(first_value) { console.log('promise1 resolved'); var promise = db.put(first_value); promise.then(function (second_value) { console.log('promise2 resolved'); var promise = db.put(second_value); promise.then( function (wins) { console.log('promise3 resolved'); }, function (err) { console.log('promise3 rejected'); return err; }); }, function (err) { console.log('promise2 rejected'); return err;});}, function (err) { console.log('promise1 rejected'); return err});
promise1 rejected
3 x rejected
1 x rejected, 2 x resolved
throw
deferred.reject(new Error())
throw new Error()
function (err) { console.log('promise1 rejected'); throw err; });
deferred.resolve(new Error())
deferred.reject(new Error())
deferred.reject(notAnError)
then
throw
始終用錯誤實例拒絕您的承諾(遵循同步世界的規則,其中拋出不是錯誤的值被認為是錯誤的做法)。 從同步回調中拒絕 投擲
錯誤(返回錯誤不能保證拒絕)。
添加回答
舉報