第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js閉包取值

js閉包取值

慕工程0101907 2019-05-13 13:32:53
嵌套調(diào)用接口函數(shù)來獲取并更改信息,但是第二個接口函數(shù)取不到循環(huán)的i值,嘗試傳參,但是then方法又不太了解fetchUserList(this.listQuery).then(response=>{this.list=response.data.listfor(vari=0;i{this.office=response.data.data.nameconsole.log(i)})}console.log(this.list)this.total=response.data.totalthis.listLoading=false})
查看完整描述

2 回答

?
手掌心

TA貢獻1942條經(jīng)驗 獲得超3個贊

解決
把循環(huán)里面的var換成let
for(leti=0;)
原因
你這種寫法.每次都是取的最后一個i的值,即i總是等于this.list.length-1
原理
何為異步
就是把所有同步方法執(zhí)行完畢之后,再開始執(zhí)行異步方法.即,如果你的循環(huán)是5次,那么系統(tǒng)會先執(zhí)行循環(huán)這個代碼,執(zhí)行完一次循環(huán),就在最后面排一個異步方法,一共排上5個,等循環(huán)代碼執(zhí)行完了,再依次執(zhí)行這5個異步方法
等你循環(huán)代碼執(zhí)行完的時候,i已經(jīng)變成5了,所以每個異步方法取的值都是5
何為閉包
閉包就是在異步方法里面,能夠取到異步方法外的變量值...你這里的需求是,每個異步方法,取第一次循環(huán)的i值.所以必須定義局部變量傳參
                            
查看完整回答
反對 回復 2019-05-13
  • 2 回答
  • 0 關(guān)注
  • 444 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號