const cart = ['apple', 'banana', 'carrot', 'onion']
//creatOrder, proceedToPayment, showOrderSummary, updateWallet
//延續同樣的例子
creatOrder(cart)
.then(function (orderID) {
//proceedToPayment(orderID)
//目前還沒有寫到proceedToPayment函式,先comment
//用console.log(orderID)測試
console.log(orderID);
})
const pr = new Promise(function (resolve, reject) {
resolve() //成功的回傳結果
reject() //失敗的回傳結果
})
function creatOrder(cart) {
const pr = new Promise(function (resolve, reject) {
if (!validateOrder(cart)) {
const err = new Error('the cart is not valid')
reject(err)
}
const orderID = 's0001'
resolve(orderID)
})
return (pr)
}
function validateOrder(cart) {
return true
}
//s0001
return false
catch
creatOrder(cart)
.then(function (orderID) {
// proceedToPayment(orderID)
console.log(orderID);
})
.catch(function (err) {
console.log(err.message);
})
此時devtool的回傳就可以看出已成功的把錯誤訊息傳達給使用者
function proceedToPayment(orderID) {
return new Promise(function (resolve, reject) {
resolve('the payment is successful')
})
}
creatOrder(cart)
.then(function (orderID) {
console.log(orderID);
return orderID
})
.then(function (orderID) {
return proceedToPayment(orderID)
})
.then(function (paymentInfo) {
console.log(paymentInfo);
})
devtool回傳
creatOrder(cart)
.then(function (orderID) {
console.log(orderID);
return orderID
})
.then(function (orderID) {
return proceedToPayment(orderID).then(function (paymentInfo) {
console.log(paymentInfo);
})
})
return false
,devtool只會回傳錯誤訊息creatOrder(cart)
.then(function (orderID) {
console.log(orderID);
return orderID
})
.then(function (orderID) {
return proceedToPayment(orderID)
})
.then(function (paymentInfo) {
console.log(paymentInfo);
})
.catch(function (err) {
console.log(err.message);
})
function creatOrder(cart) {
const pr = new Promise(function (resolve, reject) {
if (!validateOrder(cart)) {
const err = new Error('the cart is not valid.')
reject(err)
}
const orderID = 's0001'
resolve(orderID)
})
return (pr)
}
function validateOrder(cart) {
return false
}
function proceedToPayment(orderID) {
return new Promise(function (resolve, reject) {
resolve('the payment is successful')
})
}
creatOrder(cart)
.then(function (orderID) {
console.log(orderID);
return orderID
})
.catch(function (err) {
console.log(err.message);
})
.then(function (orderID) {
return proceedToPayment(orderID)
})
.then(function (paymentInfo) {
console.log(paymentInfo);
})
the payment is successful
promise真的要多練習幾次,光練習寫程式,卡住的次數完全數不清,花了一整天時間,影片來來回回,但越寫越有趣,而且寫出來的程式真的很簡潔美麗,真是個強大的語法。
努力看完天書後,來點輕鬆的吧!分享我兒子的童言童語,調劑身心一下
2021/03/13
咖:我聞到香味了
我:什麼香味?
咖:我肚子裡飲料的香味。
我:你那是打嗝吧⋯
咖:對啊!
還好沒說我也要聞
2021/03/12
咖:媽媽,我跟你合開一家公司
我:哇!什麼公司?
咖:巴士公司
我:好喔!我們去開巴士賺錢錢
咖:巴士公司需要很多巴士!
我:⋯
這是陷阱題嗎?