js異步編程小技巧詳解
異步回調(diào)是js的一大特性,理解好用好這個特性可以寫出很高質(zhì)量的代碼。分享一些實(shí)際用的一些異步編程技巧。
1.我們有些應(yīng)用環(huán)境是需要等待兩個http請求或IO操作返回后進(jìn)行后續(xù)邏輯的處理。而這種情況使用回調(diào)嵌套代碼會顯得很難維護(hù),而且也沒有充分使用js的異步優(yōu)勢。
看下實(shí)例(為了大家容易理解使用了jq作為示例)
$.get("獲取數(shù)據(jù)1.html",function(data,status){
$.get("獲取數(shù)據(jù)2.html",function(data1,status1){
//使用 data 和data1邏輯
});
});
這種代碼明顯需要等待上個ajax請求返回后才會進(jìn)行第二個請求,效率很低,而且回調(diào)嵌很不利于邏輯。我們可以使用計數(shù)器的方式,每完成一個請求計數(shù)器加1 當(dāng)計數(shù)器等于2時執(zhí)行回調(diào)邏輯
var get_data
var get-data1
function next(){
//使用 data 和data1邏輯
}
$.get("獲取數(shù)據(jù)1.html",function(data,status){
get_data=data
(++over === all) && (next());
});
$.get("獲取數(shù)據(jù)2.html",function(data1,status1){
get_data1=data1
(++over === all) && (next());
});
這種方式兩個http并行發(fā)送,極大的提高了效率
相關(guān)文章
在線所見即所得HTML編輯器的實(shí)現(xiàn)原理淺析
這篇文章主要介紹了在線所見即所得HTML編輯器的實(shí)現(xiàn)原理淺析,本文用初始化、打開編輯功能、獲取編輯器的內(nèi)容、增加樣式設(shè)置、再進(jìn)一步等步驟闡述在線編輯器的基本實(shí)現(xiàn)原理,需要的朋友可以參考下2015-04-04
前端JavaScript數(shù)組方法總結(jié)(非常詳細(xì)!)
這篇文章主要介紹了JavaScript中數(shù)組對象的常用方法,包括數(shù)組的基本操作、查找、過濾、排序、遍歷等方法,并提供了每個方法的語法和示例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
使用js實(shí)現(xiàn)按鈕控制文本框加1減1應(yīng)用于小時+分鐘
正如標(biāo)題所言使用js實(shí)現(xiàn)按鈕控制文本框加1減1,此類主要應(yīng)用于小時+分鐘,下面有個不錯的示例,喜歡的朋友可以參考下2013-12-12
記一次webpack3升級webpack4的踩坑經(jīng)歷
這篇文章主要介紹了記一次webpack3升級webpack4的踩坑經(jīng)歷,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

