Jquery Deferred / variable立即完成

时间:2015-06-30 09:22:01

标签: javascript jquery jquery-deferred

fiddle显示我的代码。我有三个功能。 functionB返回用户输入。用户输入所需的时间尚不清楚。问题是,functionA不会等待并触发

var PO = parseInt(document.getElementById("PO").innerHTML);
var total_PO = parseInt(document.getElementById("total_PO ").innerHTML);
var net_PO = PO-total_PO;

document.getElementById("net_PO").innerHTML=net_PO;

立即。它必须等待,直到functionB回答,无论需要多长时间。所以应该提醒“用户输入”,而不是“未定义”。怎么做到呢?感谢。

1 个答案:

答案 0 :(得分:2)

您没有正确返回deffered对象。您应该返回延迟对象以在when()函数中操作它,并在几秒钟后解决它。

function functionB() {
    var deferred = $.Deferred();
    setTimeout(function () {
        deferred.resolveWith(this, ["User Input"]);
    }, 5000);
    return deferred;
}

https://jsfiddle.net/4DAfn/295/