Promise對象:代表了未來某個將要發生的事件(通常是一個異步操作)
好處:有了promise對象,可以將[異步操作以同步的流程]()表達出來,避免了層層嵌套的回調函數(回調地獄)
### 1.沒有promise之前的處理
~~~
var url = "http://api.douban.com/v2/movie/in_theaters"
function http(url,callback) {
$.ajax({
url,
dataType: "jsonp",
success(res) {
callback(res);
}
})
}
http(url,res=>{
console.log(res);
})
~~~
### 2.使用promise
~~~
var url = "http://api.douban.com/v2/movie/in_theatersfds"
var promise = new Promise((resolve,reject)=>{
$.ajax({
url,
dataType:"jsonp",
success(res){
resolve(res);
},
error(err){
reject(err);
}
})
})
promise.then(res=>{
console.log(res);
},err=>{
console.log(err);
})
~~~
- 將es6轉為es5
- 第一節 webpack
- 第二章 基礎語法
- 第1節 模塊化
- 第2節set和map語法
- 2.1 set
- 第3節 變量
- 第4節 循環of
- 第5節 function
- 第6節 解構賦值
- 1.在對象在函數中的解構
- 第7節 字符串
- 第8節 面向對象
- 8-1 static靜態屬性,靜態方法
- 第9節 JSON對象
- 9-1 Object.keys()
- 第10節 Promise
- 10.1 原理
- 10.2 回調地獄
- 第11節 generator
- 第一節 基本
- 第二節 generator-ajax
- 第12節 yield
- 第13節 asnyc
- 13.1
- 13.2 ajax
- 第14節 array
- 第15節 string方法拓展
- 第三章 webpack的簡單配置
- 第四章 高級語法
- 第1節 promise
- a.實例
- b.promise
- 第2節 await,async