92
93
public sendRequest<T = unknown>(request: Omit<IJsonRpcRequest, 'jsonrpc' | 'id'>, token: CancellationToken = CancellationToken.None, onCancel?: (id: JsonRpcId) => void): Promise<T> {
95
return Promise.reject(new CancellationError());
96
}
98
>
const id = this._nextRequestId++;
99
>
const promise = new DeferredPromise<unknown>();
100
>
const cts = new CancellationTokenSource();
101
>
this._pendingRequests.set(id, { promise, cts });
102
>
103
>
const cancelListener = token.onCancellationRequested(() => {
104
if (!promise.isSettled) {
105
this._pendingRequests.delete(id);