当前位置: 首页 > article >正文

循环中存在异步的情况如何让其正常执行?

最近写后端遇到一个情况,循环查询数据库,并且还需要校验数据是否正确。如下我需要对文件进行一个校验,并且要查询数据库中是否有文件相关的信息代码如下

async function getData(files){
    files.forEach(item=>{
        let info = await getData(item)
        if(info){
            // ...获取到之后进行各种操作
        }
    })
}

起初我的想法是item前面加个async,虽然它没有报错,但确实没有暂停循环。它并不会去等待getData执行完。

最终解决方式是用for of循环来处理。代码如下:

async function getData(files){
    for(const item of files){
        let info = await getData(item)
        if(info){
            // ...获取到之后进行各种操作
        }
    }
}


http://www.kler.cn/a/161985.html

相关文章:

  • WEB攻防-通用漏洞SQL注入sqlmapOracleMongodbDB2等
  • androidstudio下载gradle慢
  • redis bind 127.0.0.1和bind 10.34.56.78的区别
  • SHELL脚本(Linux)
  • qt QKeySequence详解
  • MoneyPrinterTurbo – 开源的AI短视频生成工具
  • 突破浅水、低流速,中海达iFlow系列智能型ADCP创新“低”!
  • Module build failed : Error : Vue packages version mismatch:
  • C#中的Attributes特性创建和结合反射应用举例
  • 苏宁商家电话采集软件使用教程
  • 生活、工作常用API免费接口
  • python socket编程6 - 使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的例子
  • 神经网络常用归一化和正则化方法解析(二)
  • axios调接口传参特殊字符丢失的问题(encodeURI 和 encodeURIComponent)
  • 【学习笔记】python仅拷贝list的值,引出浅拷贝与深拷贝
  • 在Python中,*f和**f是用于解包参数的语法
  • linux安装mysql5.7(一遍过)
  • 案例060:基于微信小程序考试系统
  • Java 简易版 UDP 多人聊天室
  • ThinkPHP插件开发实例
  • vue 使用 h函数
  • 区块链optimism主网节点搭建
  • 2024年值得关注的8个未来数据库
  • 什么是https 加密协议?
  • Javaweb之Maven仓库的详细解析
  • RPC 集群,gRPC 广播和组播