Получите уведомление о сообщении от Nodejs REST API, используя Angular8 в фоновом режиме - PullRequest
0 голосов
/ 06 ноября 2019

Я работаю над приложением, в котором я хочу реализовать сообщение Входящие. Я создал входящие сообщения с помощью Angular8 и NodeJS REST API. Теперь я хочу получать входящие сообщения каждые 30 секунд в фоновом режиме при входе пользователя в систему, и это не повлияет на производительность приложения Angular.

Поэтому я хочу реализовать Web-работник сAngular8 для получения данных из NodeJS REST API, но я не могу создать.

Я добавил следующий код в приложение Angular 8

Добавьте этот код в app.component.ts

getWorker(token){
if (typeof Worker !== 'undefined') {
  // Create a new
  const worker = new Worker('../../web-worker/messenger.worker', { type: `module` });
  worker.postMessage(token);
  worker.onmessage = (e) => {
    setTimeout(() => {
      worker.postMessage(token)
    }, 15000);
  };
} else {
  // Web Workers are not supported in this environment.
  // You should add a fallback so that your program still executes correctly.
}

}

Создан рабочий файл с fetch

  /// <reference lib="webworker" />

addEventListener('message', ({ data }) => {
    const response = `worker response to ${data}`;
    postMessage(response);
  });

import { environment } from "src/environments/environment";
onmessage = (message:any) => {
    fetch(environment.apiUrl +'messages/notification/1/1',
        { method:'GET',
          headers:new Headers({
            Authorization: `Bearer ${message.data}`
          })
        }
      )
    .then(response => {
      return response.json()
    })
    .then(commits => {
        // self.onmessage(message)
      return commits
    });
};

, но он показывает type каквыборка должна быть показана веб-работник верно?

enter image description here

Может кто-нибудь помочь мне с этим?

...