返回未定义的变量
Undefined variable returned
我正在编写一个 Javascript 函数,它将 return 一个数字作为结果。这是我的代码:
get_tiquete_hacienda: function (){
var myconsecutivo = 0;
var rpc2 = require('web.rpc');
rpc2.query({
model: 'pos.order',
method: 'compute_sales_bsi'
}).then(function(res) {
myconsecutivo = res;
console.log('soy el otro: ' + myconsecutivo);
});
return myconsecutivo;
}
如果我查看控制台,"soy el otro:" 会呈现正确的值
但是 return myconsecutivo 未定义
为什么会这样?
您需要 return “then”语句中的值。
get_tiquete_hacienda: function (){
var myconsecutivo = 0;
var rpc2 = require('web.rpc');
return rpc2.query({
model: 'pos.order',
method: 'compute_sales_bsi'
}).then(function(res) {
myconsecutivo = res;
console.log('soy el otro: ' + myconsecutivo);
return myconsecutivo;
});
}
get_tiquete_hacienda().then(function (myconsecutivo) {
// myconsecutivo is correct here
});
或更简洁:
get_tiquete_hacienda: function (){
var rpc2 = require('web.rpc');
return rpc2.query({
model: 'pos.order',
method: 'compute_sales_bsi'
}).then(function(res) {
console.log('soy el otro: ' + res);
return res;
});
}
get_tiquete_hacienda().then(function (myconsecutivo) {
// myconsecutivo is correct here
});
我正在编写一个 Javascript 函数,它将 return 一个数字作为结果。这是我的代码:
get_tiquete_hacienda: function (){
var myconsecutivo = 0;
var rpc2 = require('web.rpc');
rpc2.query({
model: 'pos.order',
method: 'compute_sales_bsi'
}).then(function(res) {
myconsecutivo = res;
console.log('soy el otro: ' + myconsecutivo);
});
return myconsecutivo;
}
如果我查看控制台,"soy el otro:" 会呈现正确的值 但是 return myconsecutivo 未定义
为什么会这样?
您需要 return “then”语句中的值。
get_tiquete_hacienda: function (){
var myconsecutivo = 0;
var rpc2 = require('web.rpc');
return rpc2.query({
model: 'pos.order',
method: 'compute_sales_bsi'
}).then(function(res) {
myconsecutivo = res;
console.log('soy el otro: ' + myconsecutivo);
return myconsecutivo;
});
}
get_tiquete_hacienda().then(function (myconsecutivo) {
// myconsecutivo is correct here
});
或更简洁:
get_tiquete_hacienda: function (){
var rpc2 = require('web.rpc');
return rpc2.query({
model: 'pos.order',
method: 'compute_sales_bsi'
}).then(function(res) {
console.log('soy el otro: ' + res);
return res;
});
}
get_tiquete_hacienda().then(function (myconsecutivo) {
// myconsecutivo is correct here
});