我有一个用JScript编写的函数(不是javascript)我需要暂停,直到某个全局变量变为true。 在ajax响应之后调用另一个函数时,全局变量将更改为true:
function(req, event, data) {
globalVariable = true;
}
当我尝试循环直到变量为真时:
while (globalVariable!= true) {
}
我进入忙碌的等待状态,永远不会调用回调函数。
有些人建议使用WScript.wait(),但我的应用程序并不会知道WScript。 SetTimeout()也无济于事,因为它是异步调用,不会暂停我的原始函数。
还有其他建议吗?
有关我的问题的更多信息: 我希望我的脚本调用2个函数:
waitWhileAjaxIsNotCompleted();
doSomthingElse();
我希望 waitWhileAjaxIsNotCompleted()单击提交ajax请求的按钮(由A4J实现)并在ajax完成时终止。 为了让我知道ajax何时完成,我注册了一个函数作为监听器,当ajax完成时它将被唤醒。此函数更改globalVariable值。 我的 waitWhileAjaxIsNotComplete()进入无限循环,等待glovalVariable值改变。当它确实发生变化时(听众唤醒后),我可以使用 doSomthingElse()函数结束广告功能。
上查看有关实施的更多信息答案 0 :(得分:0)
我不记得我用过什么了 几个月前,因为我不使用 Jscript了(没有足够的时间)...... 但我目前正在寻找我的 程序,看看我是否还有 脚本保存。我完全一样 几个月前的事情。
我会在找到后发布代码
它...
很抱歉。我似乎无法找到代码片段。我必须删除它......虽然我很典型。
所以,在可以使用更好的解决方案之前,我唯一可以想到的就是将代码输入无限循环,然后简单地中断;一旦GlobalVariable返回true,就退出它。
我希望这会有所帮助。我会坚持下去,直到我能找到片段或提出更好的答案。