我希望能够使用 fetch API 取消请求并使用new AbortController()不幸的是我在控制台中收到一个错误:AbortController is not defined
// this.aborter = new XMLHttpRequest() no error
this.aborter = new AbortController() error
Run Code Online (Sandbox Code Playgroud)
可能是什么原因?我只使用 vanilla JS,没有任何依赖项。
AbortController上的 MDN 文档包含支持的浏览器的最新表。
尽管当前浏览器应该很好地支持该 API,但该 API 仍被标记为实验性的。Firefox 自 2017 年 11 月 (FF 57) 起开始使用,Chrome 于 2018 年 4 月 (Chrome 66) 紧随其后。
尝试
this.aborter = new window.AbortController();
Run Code Online (Sandbox Code Playgroud)
我发现在 Chrome (v77) 上它无法识别 AbortController 并将其指定为窗口属性。
另外,在你打电话之后
this.aborter.abort()
Run Code Online (Sandbox Code Playgroud)
您可能需要重新初始化
this.aborter = new window.AbortController();
Run Code Online (Sandbox Code Playgroud)
否则以后的 fetch 语句将不起作用(状态将被中止并抛出错误!)。
| 归档时间: |
|
| 查看次数: |
12797 次 |
| 最近记录: |