ES6規定,Promise對象是一個構造函數,用來生成Promise實例。
Promise接受一個函數作爲參數,可接受兩個參數resolve ,reject(這兩個是JS引擎自帶的)。例如:
var promise實例 = new Promise((resolve,reject) => {
resolve('這是返回的結果')
})
promise實例.then((val) => {
console.log(val) // 這是返回結果
})
resolve 函數的作用是 把promise 的狀態由 “未完成” 改爲“成功”,並將異步操作執行的結果,作爲參數傳遞出去。
reject 函數的作用是把 promise的狀態 由未完成“”改爲 “失敗”,並將異步操作失敗的錯誤信息,作爲參數傳遞出去。
promise實例生成後 ,可以使用then()方法,then() 接受兩個回調函數作爲參數,第一個回調函數,可以接受Promise對象resolve傳出 來的值,作爲參數,第二個回調函數 (非必選)接受 Promise對象reject傳出的值,作爲參數。例如: