網(wǎng)站首頁 編程語言 正文
今天在項目中遇到一個異步問題,出現(xiàn)原因如下:
我在getEnergeHouseDanhao這個函數(shù)中加入了一個請求,該函數(shù)是獲取某機器單耗,但要請求四次分別去獲取年單耗、月單耗、日單耗、小時單耗
然而執(zhí)行后因為請求是異步的,此時打印datas拿不到在請求中push進去的數(shù)組,在設(shè)置定時器才能拿到數(shù)組。
然而我們無法確定接口的相應(yīng)時間,用定時器解決顯然是存在很大風(fēng)險的。
那么該如何解決類似的問題呢?可以使用promise.all
解決異步。
首先簡單且通俗易懂地介紹一下promise.all是什么,具體要深入理解請查閱官方文檔
而在需要用不同的入?yún)⑷ブ貜?fù)調(diào)用一個封裝的接口函數(shù)去請求數(shù)據(jù)時,我們可以先賦值一個存放入?yún)⒌臄?shù)組paramsList
,通過map遍歷該數(shù)組去進行一次次的請求,并將這些請求都放在promise.all
里執(zhí)行,具體實現(xiàn)方法如下:
例:paramsList存放入?yún)⒌臄?shù)組
調(diào)用promise.all
:
讓我們來看看打印出來的reslist是什么:
4個請求都成功,拿到一個有4個元素的數(shù)組,并每個數(shù)組都拿到了接口返回的data,這時就基本大功告成了。
再編寫一下.then內(nèi)的邏輯
大功告成~拿到數(shù)據(jù)就可以去繪制圖表了。
關(guān)于我自己封裝的圖表組件還很不完善,等未來完善得差不多了再發(fā)一帖吧
代碼:
Promise.all(paramsList.map((item) => {
return http.post("#你的請求", {
...item
});
})
).then((reslist) => {
// 請求成功邏輯
console.log(reslist);
}).catch(() => {
// 失敗邏輯
});
THX~
原文鏈接:https://blog.csdn.net/vvv3171071/article/details/122237677
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2022-05-25 version `GLIBC_2.18‘ not found
- 2023-08-01 elementui DateTimePicker組件 限制時間范圍(包含時分秒)
- 2022-12-21 Android?O對后臺Service限制詳解_Android
- 2022-05-10 uniapp中的@tap和@click的區(qū)別
- 2022-09-01 Python?類方法和靜態(tài)方法之間的區(qū)別_python
- 2022-11-20 Go語言操作Excel利器之excelize類庫詳解_Golang
- 2022-09-22 在容器內(nèi)獲取 Pod 信息
- 2022-07-19 分布式事務(wù)其中的那些坑
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支