Skip to content

Commit 01214e7

Browse files
authored
Update testEffect (#67)
1 parent b52ffe3 commit 01214e7

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

src/index.ts

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
createSignal,
77
getOwner,
88
lazy,
9-
onError,
9+
catchError,
1010
onMount,
1111
Owner,
1212
runWithOwner
@@ -239,25 +239,21 @@ export function testEffect<T extends any = void>(
239239
fn: (done: (result: T) => void) => void,
240240
owner?: Owner
241241
): Promise<T> {
242-
const context: {
243-
promise?: Promise<T>;
244-
done?: (result: T) => void;
245-
fail?: (error: any) => void;
246-
dispose?: () => void;
247-
} = {};
248-
context.promise = new Promise<T>((resolve, reject) => {
249-
context.done = resolve;
250-
context.fail = reject;
242+
let done: (result: T) => void;
243+
let fail: (error: any) => void;
244+
let promise = new Promise<T>((resolve, reject) => {
245+
done = resolve;
246+
fail = reject;
251247
});
252-
context.dispose = createRoot(dispose => {
253-
onError(err => context.fail?.(err));
254-
(owner ? (done: (result: T) => void) => runWithOwner(owner, () => fn(done)) : fn)(result => {
255-
context.done?.(result);
256-
dispose();
257-
});
258-
return dispose;
259-
});
260-
return context.promise;
248+
createRoot(dispose => {
249+
catchError(() => {
250+
fn(result => {
251+
done(result);
252+
dispose();
253+
});
254+
}, fail)
255+
}, owner);
256+
return promise
261257
}
262258

263259
function cleanupAtContainer(ref: Ref) {

0 commit comments

Comments
 (0)