Какова стандартная практика для реализации уведомлений Pu sh с использованием Web-Pu sh + Socket.io в NodeJS? - PullRequest
1 голос
/ 19 февраля 2020

Я новичок в NodeJS и задаюсь вопросом о том, как лучше всего реализовать уведомление Pu sh с использованием Socket.IO и библиотеки Web-Pu sh в NodeJS. Поскольку объект Web-Pu sh нельзя использовать внутри io.socket.on ('connection', callback) , поэтому я думаю, что это то, что нужно для хранения web-pu sh конечная точка в сеансе, соответствующая идентификатору пользователя, и получение конечной точки в области видимости сокета для передачи данных клиенту.

Это как это должно быть реализовано? или как лучше?

NodeJS Функция (на узле сервер. js) Отвечает за отправку Pu sh Уведомление сервисному рабочему сценарию

const sendWebPush = ( subscription, payload ) => {
  //webpush.sendNotification(socket.request.body, payload).catch(err => console.error(err));
  webpush.sendNotification( subscription, payload ).catch(err => console.error(err));
}

В этом блоке я хочу использовать вышеуказанную функцию

io.sockets.on('connection', function(socket) {

    socket.on('join', function ( userID ) {
      // Pass object into sendNotification
        const payload = JSON.stringify({ title: "New Member Joined" });
        sendWebPush( socket.request.body, payload ); /* Unable to get the subscriber information through this piece of code socket.request.body */
        USERS[userID] = socket.id;
        io.emit('join',USERS);
    });
});

Я просто хочу использовать эту функцию внутри обратного вызова сокета. Это то, чего я хочу достичь.

...