Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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/1/cassandra/3.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 如何安全地执行多个SELECT查询_Javascript_Cassandra_Bluebird - Fatal编程技术网

Javascript 如何安全地执行多个SELECT查询

Javascript 如何安全地执行多个SELECT查询,javascript,cassandra,bluebird,Javascript,Cassandra,Bluebird,为了翻译类型为的cassandra查询 SELECT * FROM [table] WHERE ... AND [param x] IN (val1, val2, ..., valN) SELECT * FROM [table] WHERE ... AND [param x] = val1 SELECT * FROM [table] WHERE ... AND [param x] = val2 ... SELECT * FROM [table] WHERE ... AND [param x]

为了翻译类型为的cassandra查询

SELECT * FROM [table] WHERE ... AND [param x] IN (val1, val2, ..., valN)
SELECT * FROM [table] WHERE ... AND [param x] = val1
SELECT * FROM [table] WHERE ... AND [param x] = val2
...
SELECT * FROM [table] WHERE ... AND [param x] = valN
转换为类型为的多个查询

SELECT * FROM [table] WHERE ... AND [param x] IN (val1, val2, ..., valN)
SELECT * FROM [table] WHERE ... AND [param x] = val1
SELECT * FROM [table] WHERE ... AND [param x] = val2
...
SELECT * FROM [table] WHERE ... AND [param x] = valN
我已经创造了这个世界

在某些情况下,会生成数千个查询。尝试使用bluebird执行所有查询后,bluebird承诺以下方式:

Promise.all(promisesArray).then(function (results) { ... })
其中promisesArray是一系列承诺:

return new Promise(function (resolve, reject) {
        client.execute(query, params, {prepare: true}, function (err, result) {
            if (err) {
                console.log(err);
                reject(err);
            } else {
                resolve(result);
            }
        });
    });
当尝试以这种方式运行批处理查询时,cassandra出现了几个问题,并且没有返回预期的结果


有人知道如何通过使用promises或是否有直接使用cassandra驱动程序的方法安全地在cassandra上执行多个SELECT查询吗?

出现了什么问题?C*返回了什么数据?当调用Promise.all()时,如果该数组中有1000个承诺,那么将在循环中并发调用所有承诺,而不必等待前一个承诺完成。这意味着在不到一秒钟的时间内调用1000 DB?这应该引起关注吗?您可以使用bluebird.map()来控制并发性。@Cortwave错误:uncaughtException:超出了最大调用堆栈大小