Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何处理嵌套或连接的吃水线查询?_Javascript_Node.js_Sails.js_Waterline - Fatal编程技术网

Javascript 如何处理嵌套或连接的吃水线查询?

Javascript 如何处理嵌套或连接的吃水线查询?,javascript,node.js,sails.js,waterline,Javascript,Node.js,Sails.js,Waterline,我正在迭代一个数组,我正在使用findOrCreate方法添加新记录,我希望在操作结束时显示所有记录。。。以下是我所拥有的: var counter = 2000 for (var i = 0; i < arr.length; i++) { var line_array = arr[i].split(":") var adapter_id = transponder.adapter_id

我正在迭代一个数组,我正在使用findOrCreate方法添加新记录,我希望在操作结束时显示所有记录。。。以下是我所拥有的:

          var counter = 2000
          for (var i = 0; i < arr.length; i++) {

            var line_array = arr[i].split(":")
            var adapter_id = transponder.adapter_id
            var transponder_id = transponder.id
            var port = counter
            var service_name = line_array[0]
            var frequency = line_array[1]
            var polarization = line_array[2]
            var device = line_array[3]
            var symbol_rate = line_array[4]
            var video_id = line_array[5]
            var audio_id = line_array[5]
            var service_id = line_array[7]

            Channel.findOrCreate({
              frequency: parseInt(frequency),
              symbol_rate: parseInt(symbol_rate),
              service_id: parseInt(service_id)
            }, {
              adapter_id: adapter_id,
              transponder_id: transponder_id,
              port: port,
              service_name: service_name,
              frequency: frequency,
              polarization: polarization,
              device: device,
              symbol_rate: symbol_rate,
              video_id: video_id,
              audio_id: audio_id,
              service_id: service_id,
            }).exec(function(err, created) {
              console.log(i)
              //console.log(created.service_id)
            })

            counter++
          }

          Channel.find({
            transponder_id: req.param("transponder_id")
          }).exec(function(err, channels) {
            res.view("transponders/channel_scan", {
              transponder: transponder,
              channels: channels
            });

          })
当我运行这个时,我没有得到任何错误。然而,我只得到空的或旧的记录。。。不是新的。我可以猜测这背后的原因是水线查询是异步的,我的操作是在这些查询返回值之前执行的

但问题是我将如何处理它?我读过一些关于承诺的东西,但无法实现。帮点忙就好了


谢谢大家!

有sails.js或waterline的人帮忙吗?我在waterline方面也面临同样的问题,没有得到任何帮助。如果有人能在这个问题上提供帮助,那就太好了