当“异步”选项为真时,使XMLHttpRequest同步?
XMLHttpRequest
的open
方法的签名如下所示:
void open(DOMString method, DOMString url, optional boolean async, optional DOMString? user, optional DOMString? password);
open
的第三个参数是async
。 当设置为false时,XMLHttpRequest对象变成同步的,这意味着它将阻止正在执行的进程,直到完成请求为止。
我想知道如果async
选项设置为true
是否可以编写一个(包装)函数getUrlSync(String url)
。 如果是这样,这可能是将异步API转换为同步API的一般方法。
我知道强制一个异步API同步是可怕的,但我只是好奇它是否可能..
我认为做这件事并不简单。 要检查HTTP请求是否完成,在一个while
循环内需要轮询。 但是,由于Javascript是在单线程环境中,intepreter将永远停留在while
循环中,永远不会执行延期的 HTTP请求。这是否有意义?
有没有人对此有任何想法?
链接地址: http://www.djcxy.com/p/55341.html上一篇: Make XMLHttpRequest synchronous when "async" option is true?