javascript异步问题(odoo8 PoS)

javascript异步问题(odoo8 PoS),javascript,asynchronous,model,openerp,point-of-sale,Javascript,Asynchronous,Model,Openerp,Point Of Sale,我已经为Odoo PoS编写了一个Javascript函数,在这个函数中,我使用一个查询从后端python代码中声明的模型中获取数据。在这个查询函数中,我想使用检索到的折扣并将其添加到我的订单行中 但由于某些原因,此下面的代码始终首先生成,这导致折扣已设置为0 总是先打印“2”,然后打印“1”,有什么想法吗 render_orderline: function(orderline){ var prodgroup; var discounts= new open

我已经为Odoo PoS编写了一个Javascript函数,在这个函数中,我使用一个查询从后端python代码中声明的模型中获取数据。在这个查询函数中,我想使用检索到的折扣并将其添加到我的订单行中

但由于某些原因,此下面的代码始终首先生成,这导致折扣已设置为0

总是先打印“2”,然后打印“1”,有什么想法吗

render_orderline: function(orderline){

        var prodgroup;

        var discounts= new openerp.Model('discountgroup');
        discounts.query(["discount_field"])
        .filter([['productgroup','=', prodgroup]])
        .first()
        .then(function(discountObj){
            console.log("1")
            var discount;
            var disc;
            discount = discountObj.discount_field;

            disc = Math.min(Math.max(parseFloat(discount) || 0, 0),100);
            orderline.discount = disc;
            orderline.discountStr = '' + disc;              
        });

        console.log("2")
        var el_str  = openerp.qweb.render('Orderline',{widget:this, line:orderline}); 
        var el_node = document.createElement('div');
        el_node.innerHTML = _.str.trim(el_str);
        el_node = el_node.childNodes[0];
        el_node.orderline = orderline;
        el_node.addEventListener('click',this.line_click_handler);
        orderline.node = el_node;

        return el_node;

有人有答案吗?有人有答案吗?