Skip to content

Commit ef5d099

Browse files
authoredDec 11, 2023
fix(rpc): abort-controller is not a constructor in browsers (#583)
1 parent 1dd7cac commit ef5d099

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed
 

‎.changeset/tough-jobs-decide.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@ckb-lumos/rpc": patch
3+
---
4+
5+
fix: `_abortController.AbortController` is not a constructor in browser

‎packages/rpc/src/index.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
} from "./exceptions";
1111
import { RPCConfig } from "./types/common";
1212
import fetch_ from "cross-fetch";
13-
import { AbortController as CrossAbortController } from "abort-controller";
13+
import AbortController from "abort-controller";
1414

1515
export const ParamsFormatter = paramsFormatter;
1616
export const ResultFormatter = resultFormatter;
@@ -134,8 +134,8 @@ export class CKBRPC extends Base {
134134
}
135135
});
136136

137-
const controller = new CrossAbortController() as AbortController;
138-
const signal = controller.signal;
137+
const controller = new AbortController();
138+
const signal = controller.signal as AbortSignal;
139139

140140
const timeout = setTimeout(
141141
() => controller.abort(),
@@ -147,7 +147,7 @@ export class CKBRPC extends Base {
147147
method: "POST",
148148
headers: { "content-type": "application/json" },
149149
body: JSON.stringify(payload),
150-
signal: signal,
150+
signal,
151151
})
152152
.then((res) => res.json());
153153

‎packages/rpc/src/method.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { IdNotMatchException, ResponseException } from "./exceptions";
22
import { CKBComponents } from "./types/api";
33
import { RPCConfig } from "./types/common";
4-
import { AbortController as CrossAbortController } from "abort-controller";
4+
import AbortController from "abort-controller";
55
import fetch_ from "cross-fetch";
66

77
export class Method {
@@ -42,8 +42,8 @@ export class Method {
4242
/* eslint-disable @typescript-eslint/ban-types, @typescript-eslint/explicit-module-boundary-types */
4343
public call = async (...params: (string | number | object)[]) => {
4444
const payload = this.getPayload(...params);
45-
const controller = new CrossAbortController() as AbortController;
46-
const signal = controller.signal;
45+
const controller = new AbortController();
46+
const signal = controller.signal as AbortSignal;
4747

4848
const timeout = setTimeout(() => controller.abort(), this.#config.timeout);
4949

2 commit comments

Comments
 (2)

github-actions[bot] commented on Dec 11, 2023

@github-actions[bot]
Contributor

🚀 New canary release: 0.0.0-canary-ef5d099-20231211063519

npm install @ckb-lumos/lumos@0.0.0-canary-ef5d099-20231211063519

vercel[bot] commented on Dec 11, 2023

@vercel[bot]
Please sign in to comment.