typescript - 将 Autorest 与 typescript 一起使用时,如何取消正在进行的客户端请求?
问题描述
使用带有打字稿的 Autorest 时,有没有办法中止正在进行的客户端请求?
我注意到该ServiceClient
对象具有指定的能力RequestPrepareOptions
,但我不清楚如何将请求选项传递给传出请求方法。或者也许还有另一种方法可以取消?
解决方案
看来你可以使用浏览器的abortController 机制。您必须创建一个中止信号:
AbortController接口表示一个控制器对象,允许您在需要时中止一个或多个 Web 请求。
var controller = new AbortController(); var signal = controller.signal;
...
然后在OperationArguments.options.abortSignal
调用的时候传入
function sendOperationRequest<T>(operationArguments: OperationArguments, operationSpec: OperationSpec)
然后调用abort
然后 abortController :
abortBtn.addEventListener('click', function() {
controller.abort();
console.log('Download aborted');
});
...并且返回的承诺sendOperationRequest
应以abortError
.
请参阅提供的 javascript 示例:https ://mdn.github.io/dom-examples/abort-api/
注意:该功能标记为实验性,因此可能并非所有浏览器都支持。
推荐阅读
- python - fasttext' 在 Windows 10 上没有属性 'train_supervised'
- excel - 如果用户过滤数据,如何在 Excel 中使用 SUMIF?
- swiftui - 如何在 SwiftUI 中使用按钮呈现菜单(不是上下文菜单)?
- vulkan - Vulkan 队列系列说明
- python - 选择时验证码崩溃。硒蟒
- python - 如何使用 Xpath 提取带有 css 的文本字段
- reactjs - 为什么我无法读取未定义的属性“内部”并且无法实例化 firebase-analytics.js - 请务必先加载 firebase-app.js
- django - django widget_tweaks 可以将输入渲染为 textarea 框吗?
- sql - INSERT 和 UPDATE 阻止 DML 操作的其他会话
- heroku - 是否可以在 Heroku 上强制更新数据库凭据?