【问题标题】:Blocked asynchronous call阻塞的异步调用
【发布时间】:2012-10-03 22:51:11
【问题描述】:

我在嵌入式环境中有一个 XHR 异步调用似乎阻塞了我的 UI。这些调用似乎仅在涉及 DNS 解析时才会被阻止,否则不会。所以,当我尝试查询http://www.google.com 时,调用阻塞;但是当我查询“http://173.194.39.18”时,它没有。我的理解是,如果环境具有 IP 地址但没有 DNS 解析功能(例如,您的设备与路由器有网络连接,但路由器本身未连接到 Internet),那么呼叫将被阻止DNS 超时的持续时间。

这是正确的,还是我缺少一些基本的东西?

【问题讨论】:

    标签: javascript asynchronous xmlhttprequest


    【解决方案1】:

    DNS 超时与常规超时非常相似。不过,由于这是一个异步调用,因此不应“阻塞”任何其他函数(除非它正在等待成功事件)。

    如果你需要缩短这个时间,你可以为请求设置一个超时时间。

    http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send-method

    【讨论】:

    • 不幸的是,这无济于事,原因有两个: 'timeout' 属性尚未在大多数 JS 引擎的当前生产版本中实现 - AFAIK。湾。我确实提到过,超时似乎只发生在需要 DNS 解析的请求上,而不是其他请求。
    猜你喜欢
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 2016-07-14
    • 1970-01-01
    相关资源
    最近更新 更多