嗨,我在获取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()函数中,我得到了正确的输出。
我的代码有什么问题吗?
你可以将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;
});
},
你得到那个日志是因为你返回了一个解析的 承诺物.
您可以初始化 qr_val
在 PosModel
或使用你写的代码来调用 generated_qr_order
功能和使用 qr_val
当它可用时。