Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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 knex select结果返回到变量_Javascript_Node.js_Knex.js - Fatal编程技术网

Javascript knex select结果返回到变量

Javascript knex select结果返回到变量,javascript,node.js,knex.js,Javascript,Node.js,Knex.js,我需要获取knexselect查询结果到一个变量 function getUserPlanDetailsWithOutCb(user_id) { var dataArr =[]; knex('user_plans').select('*').where({ 'user_id': user_id }).then(function(result) { result.forEach(function(value) { dataArr.push(value) })

我需要获取
knex
select查询结果到一个变量

function getUserPlanDetailsWithOutCb(user_id) {
 var dataArr =[];
 knex('user_plans').select('*').where({ 'user_id': user_id }).then(function(result) {
     result.forEach(function(value) {
        dataArr.push(value)
     });
 //return dataArr;
 });
 return dataArr;
}

 var result = getUserPlanDetailsWithOutCb(12);
我已尝试在
knex
中返回回拨的外部和内部值。对于上面的代码,我得到的结果是[] 对于第二个
(返回内部回调)
我得到的结果如下

{
   "isFulfilled": false,
   "isRejected": false
}

要使用Promissions返回变量,请对数据检索函数执行以下操作:

注意:
returnknex(
将Promise对象返回给调用者,
returndataarr
将值返回给调用者的
。然后()
Promise子句

通过以下方式调用函数:

var result;
var aPromise = getUserPlanDetailsWithOutCb(12)
    .then(function(result) {
        result = value;
    });
aPromise
解析时,将设置
result
变量

使用
var aPromise
调用函数将导致程序执行在承诺实现和
结果设置之前继续,这可能不是您想要的。因此您可以使用
wait
(如@Abhyudit Jain所述),但我没有这样做,因此如果我尝试的话,我会弄乱语法


干杯!Gary。

要使用承诺返回变量,请对数据检索函数执行以下操作:

注意:
returnknex(
将Promise对象返回给调用者,
returndataarr
将值返回给调用者的
。然后()
Promise子句

通过以下方式调用函数:

var result;
var aPromise = getUserPlanDetailsWithOutCb(12)
    .then(function(result) {
        result = value;
    });
aPromise
解析时,将设置
result
变量

使用
var aPromise
调用函数将导致程序执行在承诺实现和
结果设置之前继续,这可能不是您想要的。因此您可以使用
wait
(如@Abhyudit Jain所述),但我没有这样做,因此如果我尝试的话,我会弄乱语法


干杯!Gary。

问题是什么?我需要将此查询的结果获取到一个变量。例如,var result=getUserPlanDetailsWithOutCb(19);@Pillai这是一个异步函数,所以你必须传递一个回调。或者你可以使用async/await和Promissions。看看这个…@WaleedIqbal我需要的是将结果赋给一个变量。我需要再次使用这个变量。问题是什么?我需要将这个查询的结果赋给一个变量。比如,var result=GetUserPlanDetailstCb(19);@Pillai这是一个异步函数,所以你必须传递一个回调。或者你可以使用async/Wait和Promissions。看看这个…@WaleedIqbal我需要的是将结果赋给一个变量。我需要再次使用该变量。