基於ES6提供的回調函數異步編程優化


同步編程:按照順序執行任務操作步驟 同步任務連續的,阻塞
和異步編程:並行執行同一個事件循環里面的全部任務 異步任務 非阻塞

異步與同步
  同步任務:
  多個任務執行時,后面任務必須等前面任務執行完之后才能執行,這樣執行的任務叫同步任務
  異步任務:
  多個任務執行時,可以同時並發執行,相互不影響。

 

 

 

 

 

 

 

 

回調函數是寫在函數方法調用里的函數fn(function fn1(){})

回調函數就是一個被作為參數傳遞的函數

函數方法調用時執行函數體作為的參數

1. 將函數callBack作為參數傳給函數fun, 在函數fun中以形參方式進行調用, 函數callBack就稱為回調函數
2. 寫法: 兩種
匿名函數形式
3. 使用: 定時器

4. 作用:
解決異步任務問題

Promise回調函數是有成功和失敗的函數執行體

Promise對象兩個特點:成功后解決,失敗后拒絕
new Promise(function (resolved,rejected){
if(是否操作成功){
resolve(value);
}else{
reject(error)
}
});
然后再執行他們的結果
回調函數,
成功后執行then
失敗后抓取原因catch

promise語法
=> ES6提供的一個解決異步編程問題的一個對象
簡單理解為: promise是對異步操作的封裝,封裝異步文件讀寫, ajax異步網絡請求...

 

Promise對象代表一個異步操作,有三種狀態:pending(進行中)、fulfilled(已成功)和rejected(已失敗)。不受外界影響,一旦改變就就不會再變執行結果

基本用法:

 

 

promise對象
=>異步操作的結果(成功、失敗)

let promise = new Promise(function(resovle,reject){
//封裝異步操作代碼

//成功的結果交給resovle
if(異步操作成功){
resolve(success)
}
//失敗的錯誤信息交給reject
else{
reject(error)
}
})

使用promise對象
promise.then( function(success){
// success
} )
promise.catch( function(eror){
//error
} )

 

為什么需要異步編程:https://www.cnblogs.com/goya/p/11962828.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM