有没有办法在Javascript中顺序执行语句?

Phi*_*enn 2 javascript

很多次,我必须写一个回调函数.

示例1:myTransaction.executeSql(stmt,parameters,mySuccess,myError);

示例2:$ .getScript(url [,mySuccess])

问:有没有办法告诉JavaScript,"请执行这行代码,当你完成后,执行下一行代码"?

我不想锁定浏览器会话,我只是希望它不会运行下一行,直到它完成.

jfr*_*d00 5

将调用放在mySuccess处理函数中的第二个函数中,用于第一个函数调用.当第一个完成并运行mySuccess函数时,该函数将调用第二个函数.这是排序异步操作的设计模式.

您不能使用异步操作编写正常的顺序函数调用.您必须使用完成功能来进行排序.

这是使用第一个函数的匿名成功处理程序的示例:

myTransaction.executeSql(stmt,parameters,function() {
    $.getScript(url, mySuccess);
}, myError);
Run Code Online (Sandbox Code Playgroud)

  • @MartinJespersen - 我把它留给OP来弄清楚它们的错误处理,因为在第一个函数中错误条件中应该发生什么的问题中没有信息.如果他们也希望它也被调用错误,那么不用说它们也必须把它放在那里. (2认同)