gpt4 book ai didi

javascript - 如何检测dojo中的请求超时错误?由于 dojo/request/notify 未检测到它

转载 作者:行者123 更新时间:2023-12-03 06:39:08 25 4
gpt4 key购买 nike

我使用 dojo/request/notify 以便在发现 Ajax callis 问题时全局检测错误。

为了调用 API,我使用 dojo/store/JsonRest。当请求失败时,notify 按预期工作,但在超时的情况下,notify 不起作用。

我需要检测超时错误。

  • 如何使用 dojo 实现这一结果?
  • 是否可以为 dojo 全局设置超时选项?

最佳答案

看起来 dojo 并没有提供开箱即用的此选项。

我想到了以下解决方案:

  1. 编写一个自定义版本的dojo/store/JsonRest,它传递一个timeout值。
  2. 猴子补丁dojo/_base/xhr
  3. 金钱补丁XMLHttpRequest

我选择了解决方案 3。下面是一个代码示例:

 (function (xhr) {
var send = xhr.send;
xhr.send = function (data) {
this.timeout = 5000;
var hasTimeOut = 'ontimeout' in this;
if (hasTimeOut) {
this.ontimeout = function () {
throw ('Error XMLHttpRequest timeout.');
};
}
return send.apply(this, arguments);
};
})(XMLHttpRequest.prototype);

Related question .

关于javascript - 如何检测dojo中的请求超时错误?由于 dojo/request/notify 未检测到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38048723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com