如何在odoo12中获取rpc查询的返回值?

问题描述 投票:1回答:2

嗨,我在获取rpc查询中的.then()函数的返回值时遇到了麻烦。

这是我的代码


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

我把 initialize_qr_code()函数的输出打印出来,如下所示 console.log(this.pos.get_order().initialize_qr_code()) 在我的控制台,这里是我总是得到什么

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

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

我的代码有什么问题吗?

javascript return odoo rpc odoo-12
2个回答
0
投票

你可以将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;
                });
        },

0
投票

你得到那个日志是因为你返回了一个解析的 承诺物.

您可以初始化 qr_valPosModel 或使用你写的代码来调用 generated_qr_order 功能和使用 qr_val 当它可用时。

© www.soinside.com 2019 - 2024. All rights reserved.