【问题标题】:How to get the returned value of rpc query in odoo12odoo12中如何获取rpc查询的返回值
【发布时间】:2020-08-19 15:55:24
【问题描述】:

您好,我在 .then() 函数的 rpc 查询中获取返回值时遇到问题

这是我的代码


initialize_qr_code:function(){
            return rpc.query({
                    model: "pos.order",
                    method: "generated_qr_order",
                    args: ["Order 00001-023-0017"],
                }).then(function (qr_val) {
                    return qr_val;
                });
        },

我在控制台中打印像 console.log(this.pos.get_order().initialize_qr_code()) 这样的 initialize_qr_code() 函数的输出,这就是我总是得到的

{state: ƒ, always: ƒ, then: ƒ, promise: ƒ, pipe: ƒ, …}

但是当我在 .then() 函数中 console.log(qr_val) 时,我得到了正确的输出

我的代码有问题吗?

【问题讨论】:

    标签: javascript return odoo rpc odoo-12


    【解决方案1】:

    您收到该日志是因为您返回了已解析的promise object

    您可以在PosModel 中初始化qr_val 或使用您编写的代码调用generated_qr_order 函数并在可用时使用qr_val

    【讨论】:

      【解决方案2】:

      您可以将 qr_val 存储在您的对象变量中,然后使用它。

      initialize_qr_code:function(){
                  var self = this;
                  return rpc.query({
                          model: "pos.order",
                          method: "generated_qr_order",
                          args: ["Order 00001-023-0017"],
                      }).then(function (qr_val) {
                          self.qr_val = qr_val;
                      });
              },
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-18
        • 2012-08-16
        • 1970-01-01
        • 2013-06-25
        • 1970-01-01
        • 2014-08-31
        相关资源
        最近更新 更多