// new 作了什麼 //1.建立一個新的空對象 //2.將構造函數中的this指向這個新空對象 //3.執行構造函數中的代碼 //4.返回這個對象 //5.這個對象有一個__proto__指向構造函數原型 var promise= new Promise((resolve, reject) => { var flag=1; if(flag) return resolve() reject() }); promise.then((res)=>{ var a = "成功回調" console.log(a) },(err)=>{ var b = "失敗回調" console.log(b) }) // --------------------------------- function promiseTest(){ var promise= new Promise((resolve,reject)=>{ var flag=true; if(flag) return resolve() reject() }); return promise }; promiseTest().then((res)=>{ var a = "成功回調" console.log(a) },(err)=>{ var b ="失敗回調" console.log(b) }) //--------------------------- // ## Promise // 1.Promise是一個構造函數 // + 須要new Promise去建立一個Promise對象 // + 在new Promise(函數) 這個函數有2個參數一個是resolve(成功的回調) // 一個是reject(失敗的回調) // 2.promise對象上有then()同時還有一個叫 catch方法 // + then接受2參數一個是成功的回調一個是失敗的回調 // +在then接受中的分別傳遞成功和失敗回調函數給resolve和reject // 3.爲何要使用Promise // +解決嵌套地獄問題 // 4.Promise會當即執行