JScript等待功能

时间:2009-08-09 13:58:19

标签: javascript wait wsh suspend

我有一个用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()函数结束广告功能。

您可以在QTP Web extensibilty toolkit and ajax

上查看有关实施的更多信息

1 个答案:

答案 0 :(得分:0)

  

我不记得我用过什么了   几个月前,因为我不使用   Jscript了(没有足够的时间)......   但我目前正在寻找我的   程序,看看我是否还有   脚本保存。我完全一样   几个月前的事情。

     

我会在找到后发布代码   它...


很抱歉。我似乎无法找到代码片段。我必须删除它......虽然我很典型。

所以,在可以使用更好的解决方案之前,我唯一可以想到的就是将代码输入无限循环,然后简单地中断;一旦GlobalVariable返回true,就退出它。

我希望这会有所帮助。我会坚持下去,直到我能找到片段或提出更好的答案。