首页 > 解决方案 > 返回未定义的变量

问题描述

我正在编写一个 Javascript 函数,它将返回一个数字作为结果。这是我的代码:

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:”会呈现正确的值,但返回 myconsecutivo 未定义

为什么会这样?

标签: javascriptundefined

解决方案


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
});

推荐阅读