在用node编写定时任务时候,发现for循环只执行i=0这一次,就不接着循环执行了,下面贴上代码:

exports.task = async function(ctx){
  let { app } = ctx,
    resultArr1 = [],//查询的数据库数据

    resultArr2 = [];//查询的数据库数据

  // 循环插入数据
  for(let i = 0,len = resultArr1.length;i < len;i++){
    ...

    console.log(111);

    //数据库插入数据(异步)

    await ...
    for(let j = 0,errorArrLen = resultArr2 .length;j < errorArrLen;j++){

      ...

      console.log(222);

      //数据库插入数据(异步)

      await ...    

    }
  }
};

resultArr1 ,resultArr2的长度均大于1,执行时会发现111,,222只输出一遍,发现代码里面写了await异步的用法,后来找到了解决办法,代码如下:

exports.task = async function(ctx){
  let { app } = ctx,
    resultArr1 = [],//查询的数据库数据

    resultArr2 = [];//查询的数据库数据

  // 循环插入数据
  for(let i = 0,len = resultArr1.length;i < len;i++){
    ...

    console.log(111);

    //数据库插入数据(异步)

    await ...
    for(let j = 0,errorArrLen = resultArr2 .length;j < errorArrLen;j++){

      var arr = resultArr2 [j];

      (async function(arr){

        ...

        console.log(222);

        //数据库插入数据(异步)

        await ...   

      })(arr); 

    }
  }
};

添加了这几行代码,问题就解决了,如果对这个错误有更好的解释或者解决办法,欢迎指出~~~

转载于:https://www.cnblogs.com/sunflower-zy/p/10718067.html

node编写定时任务,for循环只执行一遍的解决办法相关推荐

  1. shell 脚本中while 循环只执行一次的问题

    自己写的一个获取所有远程服务器数据库启动配置信息的bash 脚本,发现循环里的ssh远程命令只能执行一次,感觉很奇怪,以前没这么使用过, 我的脚本为 #!/bin/bash ## generate a ...

  2. windows下的命令框执行任务卡住的解决办法

    windows下命令框执行任务卡住的解决办法 1.现象:命令框执行任务时,不知什么情况下就卡住了,需要敲回车才能继续执行并输出. 2.解决办法:设置命令框的不使用快速编辑模式,但是设置后就不能做选中字 ...

  3. Scapy脚本执行出现警告WARNING解决办法

    2019独角兽企业重金招聘Python工程师标准>>> (转自:Scapy脚本执行出现警告WARNING解决办法) 安装完scapy,简单写了个脚本执行总是会警告一下: WARNIN ...

  4. IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法

    转载自  IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法 最近在测试兼容性问题的时候发现,使用Ajax的GET请求向后台获取响应结果时,如果是IE8浏览器,第一次发送请求时会得到正 ...

  5. 表 ‘dbo.XXX’ 没有标识属性。无法执行 SET 操作 错误解决办法

    表 'dbo.XXX' 没有标识属性.无法执行 SET 操作 错误解决办法 工作中,时不时会遇到导入数据的情况,对于自增列,SQL Server默认时不允许插入的.可以将IDENTITY_INSERT ...

  6. 复制Typora的文本到CSDN文章编辑页保留格式,解决格式消失只剩纯文本的解决办法【超详细】

    问题描述       很多时候,我们在Typora写好的文章,当我们复制到CSDN的文章编辑页时,字体格式都消失了,只剩下纯文本了. 解决办法 选中想要复制的文本 -> 编辑 -> 复制为 ...

  7. java 只运行一次吗_java程序循环只执行一次的问题

    RT代码如下:Stringrec=reader.readUTF();System.out.println(rec);String[]s=rec.split(",");inti=0; ...

  8. js:for循环只执行最后一个值的问题

    在项目开发的时候后台的返回的数据结构不能满足于checkBox单个选择的条件,当我选择一个时会把其他的数据也一直选过来,这里就需要自己去重构一个独一无二的key来进行for循环选择: 如以下数据: t ...

  9. ps导出的gif图片不能动,或是只能动一次的解决办法

    1.点击窗口,选择时间轴,在下方会出现时间轴项. 2.选择永久.(一次即代表只执行一次) 3.选择文件 - 导出 - 存储为web所用格式 4.格式选择GIF,循环选项选择永远,然后导出,就可以了.

最新文章

  1. Word2Vec揭秘: 这是深度学习中的一小步,却是NLP中的巨大跨越
  2. move std 函数 示例_确保(值类型)可拷贝类有默认构造函数
  3. python适合找哪方面工作_学习python后能做哪方面的工作
  4. MDK调试错误之assert_failed
  5. jexboss工具 -- JBOSS未授权访问漏洞利用
  6. [BZOJ3529][Sdoi2014]数表
  7. java中的public,protected,package-private和private之间有什么区别?
  8. 金字塔原理--公开演讲
  9. mybatis-generator
  10. 几个常用的dos命令
  11. 以代码为实例讲解sizeof函数易混淆的用法
  12. 计算机网络第七版1-1
  13. 你想学Python爬虫?看看这篇关于开发者工具神器的博客吧
  14. 坐标中c语言作正弦图,C语言绘制余弦、正弦曲线
  15. 唯品会基于Kubernetes(k8s)网络方案演进
  16. 2023年湖北省建筑类初级职称助理工程师电子版证书申报查询
  17. sin函数对照表_初中常用三角函数值对照表
  18. JBuilder连接oracle数据库
  19. cmstop模板标签通过db标签的sql语句调用文章列表摘要内容
  20. 数据分析-excel

热门文章

  1. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...
  2. 研究性能测试工具之systemtap入门指南(四)
  3. DevExpress A field with the name '' was not found on the selected data source.
  4. 原来AGILE就是这么一回事啊!
  5. qq企业邮箱 java发送_spring配置javamail利用qq企业邮箱发送邮件。
  6. 回归分析中的“回归”
  7. 【机器视觉案例】(8) AI视觉,手势控制电脑鼠标,附python完整代码
  8. vs编译报错C1020: 意外的 #endif
  9. matlab数字量转电气量,基于MATLAB的数字PID直流电机调速系统.doc
  10. android的xml置底_Android布局之xml设置