iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
0
自我挑戰組

草頭黃小姐的 30 天 JavaScript 自學小本本系列 第 29

Day 29 JavaScript : promise

昨天我們了解到 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。


上一篇
28 JavaScript 的基礎:AJAX 和 SetTimeout()
下一篇
Day 30 聊聊一些 JS 幾個常聽到的名詞
系列文
草頭黃小姐的 30 天 JavaScript 自學小本本30

尚未有邦友留言

立即登入留言