昨天我們了解到 JavaScript 的非同步執行方法,但有時我們想要等到 A 事件結束後,再來進行 B 事件,所謂的同步的執行方式,這時我們可以用 Promise
let finaltrick = new Promise()
通常建立 Promise 會接兩個 function,一個在你成功的時候執行,另外一個在你失敗的時候執行:
let finaltrick = new Promise((resolved, fail)=>{
resolved('元氣玉')
});
如果我們執行 finaltrick 的時候,就可用
finaltrick.then(招式=>{
console.log(招式);
})
這時候就會回傳'元氣玉'
如果我們在程式碼上,把 resolve 改成 fail 後試印不出任何結果的
let finaltrick = new Promise((resolved, fail)=>{
fail('元氣玉')
});
finaltrick.then(招式=>{
console.log(招式);
})
接著如果我們要顯示 error 的話,就要在剛剛接著寫 catch:
let finaltrick = new Promise((resolved, fail)=>{
fail('元氣玉')
});
finaltrick.then(招式=>{
console.log(招式);
}).catch(error=>{
console.log('error =' + error);
})
這個 promise 的用意是當你成功的時候,接收到 then 後面的 function,如果失敗的話就接受到 catch 的 function。