Skip to content

Commit fe0f08f

Browse files
committed
fix: Make Controller proxy wait for response of syncAccount
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
1 parent b78de77 commit fe0f08f

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/lib/Controller.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,19 @@ export default class Controller implements IController {
123123
console.log('Waiting for service worker readiness')
124124
const worker = await this.getWorker()
125125
const message = {type: 'syncAccount', params: [accountId, strategy, forceSync]}
126-
worker.postMessage(message)
127-
console.log('Sending message to service worker: ', message)
126+
127+
return new Promise((resolve) => {
128+
const eventListener = (data) => {
129+
if (data.type === 'syncAccountResponse') {
130+
resolve()
131+
console.log('Message response received', data)
132+
removeEventListener()
133+
}
134+
}
135+
const removeEventListener = worker.addEventListener(eventListener)
136+
worker.postMessage(message)
137+
console.log('Sending message to service worker: ', message)
138+
})
128139
}
129140

130141
async unlock(key): Promise<void> {

0 commit comments

Comments
 (0)