Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Node Js&;Blubird用于并发mysql请求_Mysql_Node.js_Bluebird - Fatal编程技术网

Node Js&;Blubird用于并发mysql请求

Node Js&;Blubird用于并发mysql请求,mysql,node.js,bluebird,Mysql,Node.js,Bluebird,我的目标是进行第一次查询,以检索日期并通过socket.emit发送结果。然后,对于每个日期,发出第二个请求,并在每个请求后通过socket.emit发送结果 现在我已经 var Promise = require("bluebird"); var mysql = require('mysql') Promise.promisifyAll(require("mysql/lib/Connection").prototype); Promise.promisifyAll(requir

我的目标是进行第一次查询,以检索日期并通过socket.emit发送结果。然后,对于每个日期,发出第二个请求,并在每个请求后通过socket.emit发送结果

现在我已经

var Promise    = require("bluebird");
var mysql      = require('mysql')
Promise.promisifyAll(require("mysql/lib/Connection").prototype);
Promise.promisifyAll(require("mysql/lib/Pool").prototype);

var pool = mysql.createPool({
connectionLimit : 10,
host : MYSQL_HOST,
database : MYSQL_DB,
user : MYSQL_USER,
password : MYSQL_PASS
})

var list
var pool_connection

pool.getConnectionAsync()
.then( (connection) => { 
    var query = "select ..."
    pool_connection = connection
    return connection.queryAsync(query)
 }) // step 1
.then( (rows) => { 
    list = []
    rows.forEach( (row) => { 
        list.push(row.added)
        socket.emit('...',{added:row.added})
    })
    return new Promise((resolve) => { resolve(true) })
}) // step 2
.then( (result) => {
    var promises = []
    list.forEach( (date) => {
        var query = "..."
        promises.push(pool_connection.queryAsync(""+query+""))
    })
    return Promise.all(promises)
}) // step 3
.then( (result) => { socket.emit('...',result })
.catch( (error) => { console.log(error) } )
它正在工作,但我可以在每次查询后发送(通过socket.emit)吗