Change AppBridge interval to timeout (#128)
This commit is contained in:
parent
063e56f345
commit
b39081ed9a
2 changed files with 40 additions and 39 deletions
BIN
.DS_Store
vendored
Normal file
BIN
.DS_Store
vendored
Normal file
Binary file not shown.
|
@ -200,7 +200,9 @@ export class AppBridge {
|
|||
debug("window.parent doesnt exist, will throw");
|
||||
|
||||
reject(new Error("Parent window does not exist."));
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
debug("Calling window.parent.postMessage with %j", action);
|
||||
|
||||
window.parent.postMessage(
|
||||
|
@ -211,7 +213,7 @@ export class AppBridge {
|
|||
"*"
|
||||
);
|
||||
|
||||
let intervalId: number;
|
||||
let timeoutId: number;
|
||||
|
||||
const unsubscribe = this.subscribe(EventType.response, ({ actionId, ok }) => {
|
||||
debug(
|
||||
|
@ -224,7 +226,7 @@ export class AppBridge {
|
|||
if (action.payload.actionId === actionId) {
|
||||
debug("Received matching action id: %s. Will unsubscribe", actionId);
|
||||
unsubscribe();
|
||||
clearInterval(intervalId);
|
||||
clearTimeout(timeoutId);
|
||||
|
||||
if (ok) {
|
||||
resolve();
|
||||
|
@ -238,11 +240,10 @@ export class AppBridge {
|
|||
}
|
||||
});
|
||||
|
||||
intervalId = window.setInterval(() => {
|
||||
timeoutId = window.setTimeout(() => {
|
||||
unsubscribe();
|
||||
reject(new Error("Action response timed out."));
|
||||
}, DISPATCH_RESPONSE_TIMEOUT);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue