Я работаю над приложением, в котором я хочу реализовать сообщение Входящие. Я создал входящие сообщения с помощью 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 каквыборка должна быть показана веб-работник верно?
Может кто-нибудь помочь мне с этим?