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我需要的是将结果赋给一个变量。我需要再次使用该变量。