Promise 之基礎介紹
阿新 • • 發佈:2020-11-03
- JavaScript 中的 promise 代表的是已經正在發生的程序(程式或者功能)
- Promise是JS中進行非同步程式設計的新的解決方案
- 從語法上面說Promise是一個建構函式
- 從功能上面說Promise物件用來封裝一個非同步操作並可以獲得其結果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script> new Promise((resolve, reject) => {//這裡是new 一個Promise物件,Promise物件中傳了一個函式(這個函式用來執行非同步操作,該函式又傳入了resolve(成功)和reject(失敗)兩個引數(函式)),
在這個函式中只有執行了 resolve 或者 reject 才能進入then()函式中,如果不執行就不會進入then函式中 //執行非同步操作 setTimeout(() => { // 使用setTimeout模仿非同步操作 let time = Date.now(); //偶數成功 否則失敗 if (time % 2== 0) { //如果成功呼叫 resolve(value) 函式 value值結果 resolve('成功的資料:' + time); //狀態值發生改變 從 pedding 改變成 resolved } else { //失敗呼叫reject(reason)函式 reason 原因 reject('失敗的資料:' + time); //狀態值發生改變 從 pedding 改變成 rejected } }, 50); }).then( (value) => { // 接收得到成功的value資料 onResolved console.log('接收得到的成功回撥', value); }, (reason) => { //接收得到失敗的reason資料 onRejected console.log('接收得到的失敗回撥', reason); } ); </script> </body> </html>