此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回答,无论需要多长时间。所以应该提醒“用户输入”,而不是“未定义”。怎么做到呢?感谢。
答案 0 :(得分:2)
您没有正确返回deffered对象。您应该返回延迟对象以在when()
函数中操作它,并在几秒钟后解决它。
function functionB() {
var deferred = $.Deferred();
setTimeout(function () {
deferred.resolveWith(this, ["User Input"]);
}, 5000);
return deferred;
}