[英]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.