Я знаю, что название странное, но я постараюсь объяснить мою проблему. У меня есть два app.js
Я должен подключиться. Один ожидаемый вызов, который возвращает promise
. Второе приложение вызывает пользовательское событие. Данные возвращаются в другое пользовательское событие. Одной из моих идей было как-то создать promise
при отправке события и разрешить его на слушателе. К сожалению, я не знаю как, или если это так, если это вообще возможно. Все мои другие идеи - ужасные хаки.
export class ClassA {
callback: (string)=>Promise<string>;
constructor(callback: (string)=>Promise<string>) {
this.callback= callback;
}
method(data: string, appCallback: (token) => void) {
this.callback(data).then(() => {
appCallback(token);
}
}
}
второе приложение
private callbackToPass(data: string) : Promise<string> {
window.addEventListener("listenerForResponse",
this.listenerForRepsonseHandler.bind(this));
window.postMessage(`{messageName:"resourceICall", data: {dataProResource: ${data}}`, '*');
this.promise = new Promise(*****);
return this.promise;
//return of promise, if this can work i can store reference, resolve later
}
private listenerForRepsonseHandler(event){
window.removeEventListener("event",
this.refreshTokenResponseHandler.bind(this));
// here i need somehow resolve the promise and past data from event
}