我的代码从数组中插入了两次相同的值(最后一个)。为什么呢如何插入许多行,但前提是它们不存在?

        for x of species # two elements 36 and 37
            data = { movie_id : id, species_id : species[x].id }
            console.log data
            MovieSpecies.exists data, (err, exists) ->
                if exists == false
                    MovieSpecies.create data, (err, items) ->
                        console.log items

最佳答案

我认为您正在循环内对MovieSpecies.exists进行异步调用。当您要遍历列表并进行异步调用时,我会执行以下操作:

urls = ['http://cnn.com', 'http://cnet.com']

do_loop = (index) ->
  if index == urls.length
    alert 'all done!'
  else
    http_get urls[index], (result) ->
      do_loop index+1

do_loop 0

关于mysql - Node.js orm2在循环中创建元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17283468/

10-13 03:03