簡體   English   中英

如何在d3 xhr發送請求中指定超時

[英]How to specify timeout in d3 xhr send request

我想設置一個超時值,以便如果服務器在該特定時間段內未響應,則UI應該前進而不等待響應。 到目前為止,我已經使用了以下語法,但是它並不限制UI偵聽指定的時間。

      d3.xhr(my_url)
        .header('Content-Type', 'text/xml')
        .header('timeout', 2000)
        .send(this.my_method, my_xmlData, function(error, data) {
        }

在這里閱讀到d3 xhr現在支持超時功能。 誰能告訴我如何正確使用它?

只需將時間(以毫秒為單位)傳遞給timeout (在版本4.x中):

.timeout(time)

這是一個例子。 我將加載一個沒有timeout的JSON文件:

 var url = "https://mysafeinfo.com/api/data?list=englishmonarchs&format=json"; d3.json(url) .get(callback); function callback(data) { console.log(data) } 
 <script src="https://d3js.org/d3.v4.min.js"></script> 

現在是相同的代碼,超時時間為1毫秒(非常短的時間):

 var url = "https://mysafeinfo.com/api/data?list=englishmonarchs&format=json"; d3.json(url) .timeout(1) .get(callback); function callback(data) { console.log(data) } 
 <script src="https://d3js.org/d3.v4.min.js"></script> 

如您所見,獲取文件的時間太短了1毫秒,並且回調將按預期返回null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM