mirror of
https://github.com/denoland/deno.git
synced 2025-10-02 23:24:37 +00:00
fix(op_crates/web): handler order when reassign (#8264)
This commit is contained in:
parent
c650c5c720
commit
996a87b168
2 changed files with 38 additions and 7 deletions
|
@ -95,6 +95,23 @@ function abortSignalEventOrder() {
|
|||
assertEquals(arr[1], 2);
|
||||
assertEquals(arr[2], 3);
|
||||
}
|
||||
|
||||
function abortSignalEventOrderComplex() {
|
||||
const arr = [];
|
||||
const controller = new AbortController();
|
||||
const { signal } = controller;
|
||||
signal.addEventListener("abort", () => arr.push(1));
|
||||
signal.onabort = () => {
|
||||
throw new Error();
|
||||
};
|
||||
signal.addEventListener("abort", () => arr.push(3));
|
||||
signal.onabort = () => arr.push(2);
|
||||
controller.abort();
|
||||
assertEquals(arr[0], 1);
|
||||
assertEquals(arr[1], 2);
|
||||
assertEquals(arr[2], 3);
|
||||
}
|
||||
|
||||
function abortSignalHandlerLocation() {
|
||||
const controller = new AbortController();
|
||||
const { signal } = controller;
|
||||
|
@ -109,6 +126,7 @@ function main() {
|
|||
controllerHasProperToString();
|
||||
abortSignalIllegalConstructor();
|
||||
abortSignalEventOrder();
|
||||
abortSignalEventOrderComplex();
|
||||
abortSignalHandlerLocation();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue