Skip to content

Commit 203bf8b

Browse files
authored
Merge pull request #379 from outerbase/develop
fixing error if message is already served or not matched
2 parents 8450064 + 92d8ba6 commit 203bf8b

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

src/drivers/iframe-driver.ts

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ import { SqliteLikeBaseDriver } from "./sqlite-base-driver";
66

77
type ParentResponseData =
88
| {
9-
type: "query";
10-
id: number;
11-
data: DatabaseResultSet;
12-
error?: string;
13-
}
9+
type: "query";
10+
id: number;
11+
data: DatabaseResultSet;
12+
error?: string;
13+
}
1414
| {
15-
type: "transaction";
16-
id: number;
17-
data: DatabaseResultSet[];
18-
error?: string;
19-
};
15+
type: "transaction";
16+
id: number;
17+
data: DatabaseResultSet[];
18+
error?: string;
19+
};
2020

2121
type PromiseResolveReject = {
2222
resolve: (value: any) => void;
@@ -29,6 +29,10 @@ class IframeConnection {
2929

3030
listen() {
3131
const handler = (e: MessageEvent<ParentResponseData>) => {
32+
// Make no sense to handle message with no matching id
33+
// This throw a lot of error in console for some reason
34+
if (!this.queryPromise[e.data.id]) return;
35+
3236
if (e.data.error) {
3337
this.queryPromise[e.data.id].reject(e.data.error);
3438
delete this.queryPromise[e.data.id];
@@ -124,7 +128,7 @@ export class IframeSQLiteDriver extends SqliteLikeBaseDriver {
124128
this.conn.listen();
125129
}
126130

127-
close(): void {}
131+
close(): void { }
128132

129133
async query(stmt: string): Promise<DatabaseResultSet> {
130134
const r = await this.conn.query(stmt);
@@ -147,7 +151,7 @@ export class IframeMySQLDriver extends MySQLLikeDriver {
147151
this.conn.listen();
148152
}
149153

150-
close(): void {}
154+
close(): void { }
151155

152156
async query(stmt: string): Promise<DatabaseResultSet> {
153157
const r = await this.conn.query(stmt);
@@ -179,7 +183,7 @@ export class IframePostgresDriver extends PostgresLikeDriver {
179183
this.conn.listen();
180184
}
181185

182-
close(): void {}
186+
close(): void { }
183187

184188
async query(stmt: string): Promise<DatabaseResultSet> {
185189
const r = await this.conn.query(stmt);

0 commit comments

Comments
 (0)