ES9(二) —— Promise.finally

目錄

  • Promise是如何「兜底」操做的?
  • 想了解所有的Promise?
  • ES6-ES10學習版圖

Promise是如何「兜底」操做的?

使用Promise.finally,不管執行then仍是catch,都會執行finally裏面的函數體。編程

例如一個彈窗:能夠用resolvereject分別保存變量的值,
可是最後用finally去控制彈窗的彈出。segmentfault

下面看代碼的例子:dom

const Gen = (time) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      if(time < 500) {
        reject(time)
      } else {
        resolve(time)
      }
    }, time);
  })
}

Gen(Math.random() * 1000)
  .then(val => console.log(val))
  .catch(err => console.log(err))
  .finally(() => {console.log('finish') })

想了解所有的Promise?

ES6-ES10學習版圖

相關文章
相關標籤/搜索