美文网首页
解决forEach/master分支插入bug/promise.

解决forEach/master分支插入bug/promise.

作者: Gopal | 来源:发表于2017-11-29 11:28 被阅读12次
问题描述

问题描述:
自己在将master分支插进一个分支的时候,再使用sequelize中的findOrCreate方法将数据插入(使用forEach循环数组),结果是数据库中有相关的数据,但是后台管理系统的却有时候是显示不出全部数据的

问题原因:
因为数据库操作异步进行的,所以当进行前面两个数据的查询和插入之后,就已经进行到了查询所有数据(返回给前台的操作了)这导致前台这个时候是显示不出第三条数据的(之后再进行第三条数据的查询和插入)

问题的解决:
使用promise,定义一个数组,将每次执行findOrCreate方法执行结束后的结果放进这个数组,然后使用promise.all让这个数组里面的所有promise执行结束后再去执行后面的操作,这个时候就可以控制三条数据都插入了再去执行查询操作

if (data === null) {
  res.locals.returns = {
    code: '0000',
    data: null
  };
  next();
} else {
  console.log('datagp:'+data)
  let promiseArr = []
  data.forEach((version, index, versionArr) => {
    promiseArr.push(
      repoVersionModel
      .findOrCreate(
        {
          where: {version_name: version},
          defaults: {
            version_id: shortid.generate(),
            version_name: version,
            repo_id: repository_id,
          }
        })
    )
  })
  Promise.all(promiseArr).then(data => {
    console.log('data',data)
    res.locals.returns = {
      code: '0000',
      data: data
    };
    next();
  })
}

涉及知识点
promise.all()
参考

findOrCreate
findOrCreate

相关文章

  • 解决forEach/master分支插入bug/promise.

    问题描述:自己在将master分支插进一个分支的时候,再使用sequelize中的findOrCreate方法将数...

  • git版本管理,项目中如何合理使用分支之间的关系!

    master 最终版本针对用户 hotfix 解决bug分支解决bug之后需要合并到develop、master,...

  • Git代码暂存之Stash实际应用

    突然线上出现 bug,需要我们紧急进行修改,于是我们要基于最新的 master 分支新建一个 bug 分支 bug...

  • git 删除文件后合并

    1、解决的问题描述 开发模式是master 分支、develop分支,master是最终版本的分支。在master...

  • git工作流

    1.Gitflow核心分支:master,dev可能还会有:功能分支,bug修复分支,预发布分支 2.github...

  • git工作流

    git工作流 1.Gitflow核心分支: master,dev可能还会有: 功能分支,bug修复分支,预发布分支...

  • git工作流程

    1.Git flow 核心分支:master,dev可能还会有:功能分支,bug修复分支,预发布分支 2.gith...

  • Git合并分支到Master

    进入开发的分支develop 执行本地提交 切换到master分支,合并develop 解决冲突 提交master分支

  • TinkerPatch发热修复

    准备工作 基于master代码,切出hotfix分支,修改bug,改完之后让测试看下是否解决了问题。 目前grad...

  • gitflow

    分支介绍 master: 存储正式发布的历史 处理线上的bug hotfix: 从master中fork而来 合并...

网友评论

      本文标题:解决forEach/master分支插入bug/promise.

      本文链接:https://www.haomeiwen.com/subject/cxcubxtx.html