關(guān)于Uncaught(in?promise)TypeError:?list?is?not?iterable報錯解決
最近在項目中遇到 Uncaught (in promise) TypeError: list is not iterable 報錯,雖然不影響代碼運(yùn)行,但是看著報錯感覺有點(diǎn)難受,試試能不能解決它

看了很多篇文章,都是說使用 Object.keys() 可以解決問題
formatTree2(list) {
for (const item of Object.keys(list)) {
if (list[item].children && list[item].children.length === 0) {
delete list[item].children
} else {
this.formatTree2(list[item].children)
}
}
},就先使用 Object.keys() 看看,代碼運(yùn)行之后

因為 Object.keys() 傳入的是 null 和 undefined 時就會出現(xiàn)這種問題,如何解決呢,試試加條件判斷
formatTree2(list) {
if (list) {
for (const item of Object.keys(list)) {
if (list[item].children && list[item].children.length === 0) {
delete list[item].children
} else {
this.formatTree2(list[item].children)
}
}
}
},添加條件判斷之后,確實能夠解決,代碼正常運(yùn)行,也不報錯了,很好
仔細(xì)琢磨一下,感覺加條件判斷的話是不是可以不使用 Object.keys() 呢,值得一試
formatTree2(list) {
if (list) {
for (const item of list) {
if (item.children && item.children.length === 0) {
delete item.children
} else {
this.formatTree2(item.children)
}
}
}
},代碼運(yùn)行之后,功能正常也不報錯,確實是可以的
總結(jié)一下:
使不使用 Object.keys() 其實都可以,主要的關(guān)鍵點(diǎn)在于添加條件使得 list 在不為null或undefined時執(zhí)行代碼,如果為了保險起見可以添加 Object.kes() ,看項目需求吧
到此這篇關(guān)于Uncaught(in promise)TypeError: list is not iterable報錯解決的文章就介紹到這了,更多相關(guān)Uncaught(in promise)TypeError內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于VuePress 輕量級靜態(tài)網(wǎng)站生成器的實現(xiàn)方法
VuePress是一個基于Vue的輕量級靜態(tài)網(wǎng)站生成器以及為編寫技術(shù)文檔而優(yōu)化的默認(rèn)主題。這么文章給大家詳細(xì)介紹了vuepress 靜態(tài)網(wǎng)站生成器的方法,需要的朋友參考下吧2018-04-04
手把手帶你安裝vue-cli并創(chuàng)建第一個vue-cli應(yīng)用程序
vue-cli這個構(gòu)建工具大大降低了webpack的使用難度,支持熱更新,有webpack-dev-server的支持,相當(dāng)于啟動了一個請求服務(wù)器,給你搭建了一個測試環(huán)境,下面這篇文章主要給大家介紹了關(guān)于安裝vue-cli并創(chuàng)建第一個vue-cli應(yīng)用程序的相關(guān)資料,需要的朋友可以參考下2022-08-08
關(guān)于vue.js組件數(shù)據(jù)流的問題
本篇文章主要介紹了關(guān)于vue.js組件數(shù)據(jù)流的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
vue3基礎(chǔ)組件開發(fā)detePicker日期選擇組件示例
這篇文章主要為大家介紹了vue3基礎(chǔ)組件開發(fā)-detePicker(日期選擇組件)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

