将 Autorest 与打字稿一起使用时,如何取消正在进行的客户请求?
How do you cancel ongoing client request when using Autorest with typescript?
在将 Autorest 与打字稿一起使用时,有没有办法中止正在进行的客户端请求?
我注意到 ServiceClient
对象能够指定 RequestPrepareOptions
,但我不清楚如何将请求选项传递给传出请求方法。或者也许还有其他方法可以取消?
看来你可以使用浏览器abortController mechanism。您必须创建一个中止信号:
The AbortController interface represents a controller object that allows you to abort one or more Web requests as and when desired.
var controller = new AbortController();
var signal = controller.signal;
...
然后在OperationArguments.options.abortSignal
调用的时候传入
function sendOperationRequest<T>(operationArguments: OperationArguments, operationSpec: OperationSpec)
然后调用 abort
on 然后 abortController :
abortBtn.addEventListener('click', function() {
controller.abort();
console.log('Download aborted');
});
...sendOperationRequest
返回的承诺将被 abortError
.
拒绝
参见提供的 javascript 示例:https://mdn.github.io/dom-examples/abort-api/
注意:该功能被标记为 实验性,因此可能并非所有浏览器都支持它。
在将 Autorest 与打字稿一起使用时,有没有办法中止正在进行的客户端请求?
我注意到 ServiceClient
对象能够指定 RequestPrepareOptions
,但我不清楚如何将请求选项传递给传出请求方法。或者也许还有其他方法可以取消?
看来你可以使用浏览器abortController mechanism。您必须创建一个中止信号:
The AbortController interface represents a controller object that allows you to abort one or more Web requests as and when desired.
var controller = new AbortController(); var signal = controller.signal;
...
然后在OperationArguments.options.abortSignal
调用的时候传入
function sendOperationRequest<T>(operationArguments: OperationArguments, operationSpec: OperationSpec)
然后调用 abort
on 然后 abortController :
abortBtn.addEventListener('click', function() {
controller.abort();
console.log('Download aborted');
});
...sendOperationRequest
返回的承诺将被 abortError
.
参见提供的 javascript 示例:https://mdn.github.io/dom-examples/abort-api/
注意:该功能被标记为 实验性,因此可能并非所有浏览器都支持它。