Skip to content

Commit 04acabf

Browse files
committed
simplify saving updateCallback
1 parent b282fc2 commit 04acabf

File tree

2 files changed

+43
-12
lines changed

2 files changed

+43
-12
lines changed

src/idom/client/app/package-lock.json

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/idom/client/app/packages/idom-app-react/src/index.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,7 @@ export function mountLayoutWithWebSocket(
4040
) {
4141
const socket = new WebSocket(endpoint);
4242

43-
let resolveUpdateHook = null;
44-
let rejectUpdateHook = null;
45-
const updateHookPromise = new Promise((resolve, reject) => {
46-
resolveUpdateHook = resolve;
47-
rejectUpdateHook = reject;
48-
});
43+
let updateLayout;
4944

5045
socket.onopen = (event) => {
5146
console.log(`Connected.`);
@@ -54,18 +49,19 @@ export function mountLayoutWithWebSocket(
5449
}
5550
mountLayout(
5651
element,
57-
(updateHook) => resolveUpdateHook(updateHook),
58-
(event) => socket.send(JSON.stringify(event)),
52+
(update) => {
53+
updateLayout = update;
54+
},
55+
(event) => {
56+
socket.send(JSON.stringify(event));
57+
},
5958
importSourceURL
6059
);
6160
_setOpenMountState(mountState);
6261
};
6362

6463
socket.onmessage = (event) => {
65-
updateHookPromise.then((update) => {
66-
const [pathPrefix, patch] = JSON.parse(event.data);
67-
update(pathPrefix, patch);
68-
});
64+
updateLayout(pathPrefix, patch);
6965
};
7066

7167
socket.onclose = (event) => {

0 commit comments

Comments
 (0)