我在嵌入式环境中有一个 XHR 异步调用,似乎阻塞了我的 UI。这些调用似乎仅在涉及 DNS 解析时才会被阻止,否则不会。因此,当我尝试查询http://www.google.com时,调用会阻塞;但是当我查询“http://173.194.39.18”时,它没有。我的理解是,如果环境具有 IP 地址但没有 DNS 解析功能(例如,您的设备与路由器有网络连接,但路由器本身未连接到 Internet),那么呼叫将被阻止DNS 超时的持续时间。
这是正确的,还是我错过了一些基本的东西?
我在嵌入式环境中有一个 XHR 异步调用,似乎阻塞了我的 UI。这些调用似乎仅在涉及 DNS 解析时才会被阻止,否则不会。因此,当我尝试查询http://www.google.com时,调用会阻塞;但是当我查询“http://173.194.39.18”时,它没有。我的理解是,如果环境具有 IP 地址但没有 DNS 解析功能(例如,您的设备与路由器有网络连接,但路由器本身未连接到 Internet),那么呼叫将被阻止DNS 超时的持续时间。
这是正确的,还是我错过了一些基本的东西?
A DNS timeout will be very much like a regular timeout. Although, due to this being an asynchronous call this should not "block" any other function (unless it is waiting for a success event).
If you need to shorten this time you can set a timeout for the request.
http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send-method