Skip to content

Commit 4ed721e

Browse files
committed
Remove async/await
1 parent 08e43da commit 4ed721e

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

src/comlink.ts

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ export const transferHandlers = new Map<string, TransferHandler>([
9797
]);
9898

9999
export function expose(obj: any, ep: Endpoint = self as any) {
100-
ep.addEventListener("message", async function callback(ev: MessageEvent) {
100+
ep.addEventListener("message", function callback(ev: MessageEvent) {
101101
if (!ev || !ev.data) {
102102
return;
103103
}
@@ -113,7 +113,7 @@ export function expose(obj: any, ep: Endpoint = self as any) {
113113
switch (type) {
114114
case MessageType.GET:
115115
{
116-
returnValue = await rawValue;
116+
returnValue = rawValue;
117117
}
118118
break;
119119
case MessageType.SET:
@@ -124,12 +124,12 @@ export function expose(obj: any, ep: Endpoint = self as any) {
124124
break;
125125
case MessageType.APPLY:
126126
{
127-
returnValue = await rawValue.apply(parent, argumentList);
127+
returnValue = rawValue.apply(parent, argumentList);
128128
}
129129
break;
130130
case MessageType.CONSTRUCT:
131131
{
132-
const value = await new rawValue(...argumentList);
132+
const value = new rawValue(...argumentList);
133133
returnValue = proxy(value);
134134
}
135135
break;
@@ -150,13 +150,15 @@ export function expose(obj: any, ep: Endpoint = self as any) {
150150
returnValue = e;
151151
throwSet.add(e);
152152
}
153-
const [wireValue, transferables] = toWireValue(returnValue);
154-
ep.postMessage({ ...wireValue, id }, transferables);
155-
if (type === MessageType.RELEASE) {
156-
// detach and deactive after sending release response above.
157-
ep.removeEventListener("message", callback as any);
158-
closeEndPoint(ep);
159-
}
153+
Promise.resolve(returnValue).then(returnValue => {
154+
const [wireValue, transferables] = toWireValue(returnValue);
155+
ep.postMessage({ ...wireValue, id }, transferables);
156+
if (type === MessageType.RELEASE) {
157+
// detach and deactive after sending release response above.
158+
ep.removeEventListener("message", callback as any);
159+
closeEndPoint(ep);
160+
}
161+
});
160162
} as any);
161163
if (ep.start) {
162164
ep.start();

0 commit comments

Comments
 (0)