Skip to content

Commit

Permalink
update: await 2
Browse files Browse the repository at this point in the history
  • Loading branch information
VsevolodX committed Apr 4, 2024
1 parent e6b6021 commit bd188e3
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 16 deletions.
26 changes: 18 additions & 8 deletions dist/other/iframe-messaging/IframeToFromHostMessageHandler.js
Expand Up @@ -6,7 +6,7 @@ class IframeToFromHostMessageHandler {
this.hostOriginURL = "*";
// The DOM id of the iframe that is loaded in the host page to send messages from/to
this.iframeId = "";
this.receiveMessage = (event) => {
this.receiveMessage = async (event) => {
if (this.iframeOriginURL !== "*" &&
event.origin !== this.iframeOriginURL &&
event.origin !== this.hostOriginURL) {
Expand All @@ -15,13 +15,23 @@ class IframeToFromHostMessageHandler {
if (event.data.type === "from-iframe-to-host") {
const { action, payload } = event.data;
if (this.handlers[action]) {
this.handlers["set-data"].forEach(async (handler) => {
await handler(payload);
});
this.handlers["get-data"].forEach(async (handler) => {
const data = await handler();
this.sendData(data);
});
if (action === "set-data") {
this.handlers["set-data"].forEach((handler) => {
handler(payload);
});
}
if (action === "get-data") {
const handlers = this.handlers["get-data"];
handlers.forEach((handler) => {
handler()
.then((data) => {
this.sendData(data);
})
.catch((error) => {
console.error(`Error in handler for get-data: ${error}`);
});
});
}
}
}
};
Expand Down
27 changes: 19 additions & 8 deletions src/other/iframe-messaging/IframeToFromHostMessageHandler.ts
Expand Up @@ -35,7 +35,7 @@ class IframeToFromHostMessageHandler {
this.handlers[action].push(...handlers);
}

private receiveMessage = (event: MessageEvent<IframeMessageSchema>) => {
private receiveMessage = async (event: MessageEvent<IframeMessageSchema>) => {
if (
this.iframeOriginURL !== "*" &&
event.origin !== this.iframeOriginURL &&
Expand All @@ -47,13 +47,24 @@ class IframeToFromHostMessageHandler {
if (event.data.type === "from-iframe-to-host") {
const { action, payload } = event.data;
if (this.handlers[action]) {
this.handlers["set-data"].forEach(async (handler) => {
await handler(payload);
});
this.handlers["get-data"].forEach(async (handler) => {
const data = await handler();
this.sendData(data);
});
if (action === "set-data") {
this.handlers["set-data"].forEach((handler) => {
handler(payload);
});
}

if (action === "get-data") {
const handlers = this.handlers["get-data"];
handlers.forEach((handler) => {
handler()
.then((data: any) => {
this.sendData(data);
})
.catch((error: any) => {
console.error(`Error in handler for get-data: ${error}`);
});
});
}
}
}
};
Expand Down

0 comments on commit bd188e3

Please sign in to comment.