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 rejected1 x rejected, 2 x resolved
throwdeferred.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
始終用錯誤實例拒絕您的承諾(遵循同步世界的規則,其中拋出不是錯誤的值被認為是錯誤的做法)。 從同步回調中拒絕 投擲
錯誤(返回錯誤不能保證拒絕)。
添加回答
舉報
