Как вы используете это для передачи данных всем «подписчикам» - так что, если решение Promise разрешено, я хочу уведомить всех. В настоящее время window.addEventlistener находится вне контекста контекста, и я не могу получить доступ к любым локальным переменным класса или передать данные с помощью и Event (TypeScript)

ожет звучать странно, но я ищу способ выполнить обещание несколько раз. Есть ли подходы, чтобы сделать это возможным?

Подумайте о следующем примере:

getPromise() {
  const event = new Event('myEvent');

  setTimeout(() => {
    window.dispatchEvent(event);
  }, 5000);

  setTimeout(() => {
    window.dispatchEvent(event);
  }, 7000);

  return new Promise((resolve) => {
    window.addEventListener('myEvent', () => {
      resolve('some value'));
    });

    resolve('some value'));
  });
};

А затем .then ():

getPromise().then(data => {console.log(data)})

Должен дать следующий результат:

some value // initial
some value // after 5000ms
some value // after 7000ms

Итак, я знаю, что есть библиотеки для потоковой передачи данных, но я действительно ищу нативный подход без callbak для достижения этой цели.

Ответы на вопрос(1)

Ваш ответ на вопрос