如何将sql数组传递给promises

时间:2017-05-11 19:40:34

标签: javascript promise bluebird

我有这个代码工作,但非常依赖于查询参数。每个查询都基于请求参数。

var query1P = connection.execute("SELECT * FROM C");

var query3P = connection.execute("SELECT * FROM A");

Promise.all([query1P query3P]).spread(function (result, result3) {
res.status(200).json({ table: result.rows, table3: result3.rows });
return connection.close();
})
.catch(function (err) {
console.log(err.message);
return connection.close();
});

如何在Promise.all中传递查询数组,如

  

queryArray = [query1P,query2P,query3P]

并将结果返回到数组中。承诺中有什么东西我可以遍历queryArray吗?

由于

1 个答案:

答案 0 :(得分:0)

这应该会自动发生(虽然我注意到Promise.all()电话中的query1P和query3P之间没有逗号。此外,.spread()应该替换为.then()

Promise.all(['test', 'blah'])
    .then(function(responses) {
        console.log(responses);
    })

将'test'和'blah'替换为最终将解决的实际承诺。