请您使用.done()
以确保在开始执行下一个功能之前功能已完全执行。我从Ajax借鉴了这个想法。但它不起作用。我不断收到错误消息done()
不是一个函数。 仅对于Ajax是done()
?如果是的话,我怎么能实现我的愿望。如何在开始执行其他功能之前完成功能执行
document.onreadystatechange = function() {
if (document.readyState === "complete") {
//do somethings
}
}
//This must be completely executed before addNu()
$("#mybutton").click(function() {
//Do some things
}).done(addNu());
function addNu() {
//do some things
}
请注意,没有一个脚本是异步的。每个必须完成才能运行下一个
'点击()'是不是异步的,所以'做()' - 即使它的工作 - 是多余的。它不会工作,因为'click()'返回一个jQuery对象,而不是Promise。目前还不清楚你在问什么,但可能你在点击处理程序中有一个AJAX调用,并且当完成时你想调用'addNu()'?如果是这样,请将addNu()调用放在AJAX代码的回调中。 –
https://api.jquery.com/jquery.when/ – prasanth
[前一个函数完成后调用函数]的可能重复(https://stackoverflow.com/questions/5000415/call-a-function-after-先前功能已完成) – DanD