国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

wordpress頁面markdown/seo品牌

wordpress頁面markdown,seo品牌,深圳企易科技有限公司,好發(fā)信息網(wǎng)站建設(shè)最近在公司實(shí)習(xí)寫的是es5,在和回調(diào)地獄經(jīng)過一番拉扯之后寫下這篇文章,也算是體驗(yàn)了一把沒有promise的時(shí)代 假設(shè)我們的div有一個(gè)日歷列表,但是由于大小關(guān)系只能每次顯示2天的信息,項(xiàng)目限制只能使用es5,不能使用es6的pro…

最近在公司實(shí)習(xí)寫的是es5,在和回調(diào)地獄經(jīng)過一番拉扯之后寫下這篇文章,也算是體驗(yàn)了一把沒有promise的時(shí)代
假設(shè)我們的div有一個(gè)日歷列表,但是由于大小關(guān)系只能每次顯示2天的信息,項(xiàng)目限制只能使用es5,不能使用es6的promise,且后端給我們的接口只能每次請(qǐng)求一個(gè)具體日期的數(shù)據(jù)
例如

getDateInfo(2023,7,26)//return
{
date:'12',
lunar:'五月廿五',
weekday:'周六'
}

在這里插入圖片描述
現(xiàn)在的需求是首屏加載2個(gè)item,有些人會(huì)覺得這還不簡(jiǎn)單嗎,先請(qǐng)求第一個(gè),再在回調(diào)里面請(qǐng)求第二個(gè)
確實(shí)如此,那假如我們有20個(gè),200個(gè)item呢,就會(huì)掉入回調(diào)地獄,還有一個(gè)問題就是前面的請(qǐng)求失敗會(huì)導(dǎo)致后面的請(qǐng)求無法執(zhí)行(即使后面的請(qǐng)求單獨(dú)可用)

那么此時(shí)我們就需要

并發(fā)請(qǐng)求

首屏加載的onload中同時(shí)請(qǐng)求兩次

getListItem(date) {var success = function(res) {console.log(res.date)//更新數(shù)據(jù)和視圖
}
getDateInfo(2023,7,date,success)
getDateInfo(2023,7,date+1,success)
}getListItem(date)

那么新的問題來了,我們的日期列表需要按順序展示,但是我們本地的數(shù)組是通過請(qǐng)求回來再在回調(diào)里存到數(shù)組中的,
由于網(wǎng)絡(luò)的不可控性,我們不知道哪個(gè)請(qǐng)求會(huì)先被返回回來,那么如何保證順序呢

錯(cuò)誤做法:

使用閉包傳參,在回調(diào)中用參數(shù)當(dāng)索引修改數(shù)組,例如上面?zhèn)鞯膁ate和date+1,因?yàn)樵趫?zhí)行回調(diào)的時(shí)候所有同步代碼已經(jīng)執(zhí)行完畢,既然傳的是同一個(gè)回調(diào)函數(shù)的地址,那么找到的是同一個(gè)作用域,里面的date已經(jīng)遞增完畢,所以所有回調(diào)取到的都是date+1,也就是最后一個(gè)傳入值

es5保證回調(diào)順序的兩種正確方式

1.接口返回我們傳入的參數(shù),或者能當(dāng)作順序標(biāo)識(shí)符號(hào)的屬性,例如id,然后我們?cè)诮o數(shù)組賦值的時(shí)候,對(duì)id做處理得出數(shù)據(jù)先后順序的索引index,再用arr[index]為數(shù)組賦值,因?yàn)槭欠祷氐臄?shù)據(jù),所以總能取到正確的值,這種方式要求接口要返回對(duì)應(yīng)的標(biāo)識(shí)或者順序?qū)傩?#xff0c;不過絕大部分接口都會(huì)有

2.給每一個(gè)請(qǐng)求傳入不同的回調(diào)函數(shù)(引用地址不同),例如

var success1 = function(res) {console.log(res.date)//更新數(shù)據(jù)和視圖
}
var success2 = function(res) {console.log(res.date)//更新數(shù)據(jù)和視圖
}
getDateInfo(2023,7,date,success1)
getDateInfo(2023,7,date+1,success2)

那么我們就可以在各自的回調(diào)函數(shù)中寫入固定的索引去更新數(shù)據(jù)和視圖,而不是使用index這種變量作為索引,但是這種方式會(huì)增加代碼量,會(huì)產(chǎn)生許多重復(fù)的冗余代碼

如果有別的可以保證返回順序的方式,歡迎評(píng)論區(qū)討論

本文由Escaay原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處

http://m.aloenet.com.cn/news/403.html

相關(guān)文章:

  • 三明網(wǎng)站優(yōu)化/推廣優(yōu)化網(wǎng)站排名
  • 有哪些攝影網(wǎng)站/站長(zhǎng)工具源碼
  • 建設(shè)網(wǎng)站成本預(yù)算/青島疫情最新情況
  • 外貿(mào)網(wǎng)站使用攻略/自己開網(wǎng)店怎么運(yùn)營(yíng)
  • 企業(yè)網(wǎng)站要更新文章嗎/域名注冊(cè)查詢?nèi)肟?/a>
  • 支付網(wǎng)站建設(shè)費(fèi)/正規(guī)的培訓(xùn)學(xué)校
  • 網(wǎng)站關(guān)鍵詞庫如何做/惠州seo推廣外包
  • 做網(wǎng)站jsp和php/成功營(yíng)銷十大經(jīng)典案例
  • 網(wǎng)站子頁面如何做seo/信息流優(yōu)化師工作總結(jié)
  • 怎么做一簾幽夢(mèng)網(wǎng)站/全渠道營(yíng)銷管理平臺(tái)
  • 珠海網(wǎng)站建設(shè)小程序/百度搜索網(wǎng)站
  • 武漢企業(yè)建站公司/百度官方電話號(hào)碼
  • 二手車交易網(wǎng)站怎么做/百度推廣網(wǎng)址是多少
  • 網(wǎng)站設(shè)計(jì)服務(wù)有哪些/網(wǎng)頁seo
  • 網(wǎng)站開發(fā) 項(xiàng)目計(jì)劃/免費(fèi)推廣網(wǎng)站地址大全
  • 鹽城市亭湖區(qū)建設(shè)局網(wǎng)站/博客可以做seo嗎
  • 10個(gè)值得推薦的免費(fèi)設(shè)計(jì)網(wǎng)站/怎么讓網(wǎng)站快速收錄
  • photoshop在線修圖/東莞seo管理
  • 門戶網(wǎng)站樣式/百度提問在線回答問題
  • 網(wǎng)站聯(lián)系我們的地圖怎么做的/seo收費(fèi)標(biāo)準(zhǔn)
  • 北京網(wǎng)站建設(shè)交易/肇慶seo優(yōu)化
  • 網(wǎng)站 色調(diào)/世界搜索引擎大全
  • 南充網(wǎng)站建設(shè)工作室/互聯(lián)網(wǎng)推廣有哪些方式
  • 工業(yè)和信息化部icp網(wǎng)站備案系統(tǒng)/百度查詢?nèi)肟?/a>
  • 游戲推廣網(wǎng)站如何做的/一件代發(fā)48個(gè)貨源網(wǎng)站
  • 淘寶客怎么建設(shè)網(wǎng)站/實(shí)時(shí)新聞
  • 姜堰 萬邦建設(shè)集團(tuán)網(wǎng)站/seosem是什么職位
  • 信融網(wǎng)站建設(shè)網(wǎng)站開發(fā)/百度推廣代運(yùn)營(yíng)公司
  • 做網(wǎng)站傻瓜/汕頭企業(yè)網(wǎng)絡(luò)推廣
  • 手機(jī)網(wǎng)站建設(shè)方案書/網(wǎng)店推廣渠道有哪些