Olá, como posso fazer para o node dizer para o angular que recebeu uma notificação?
Faço um loop infinito no angular que fica fazendo uma requisição e verificando?
Qual o melhor jeito?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, como posso fazer para o node dizer para o angular que recebeu uma notificação?
Faço um loop infinito no angular que fica fazendo uma requisição e verificando?
Qual o melhor jeito?
Oi Felipe, você precisa implementar uma solução de push notification. É esse o termo que você deve pesquisar.
Uma biblioteca que faz isso é socket.io. Ela toda no browser, mas precisa que seu servidor esta preparado para lidar com ela. Sendo assim, existe bibliotecas do backend em Java, C#, Node.js, em várias linguagem.
Na verdade, socket.io é uma casquinha sob Websockets, tecnologia especificada na web.
Como funciona? Você dispara eventos no seu servidor e sua aplicação no browser ouve e executa ações para esses eventos.
Segue o link.
Mas sugiro você estudar primeiro sobre push notification para entender o conceito.
Abraço meu aluno.
Olá, obrigado pela dica. Eu fiz algo assim.
$interval(function(){
console.log("time 5");
//http get...
}, 5000);
Funcionou até. É muito gambiarra? Vai me causar algum tipo de problema no futuro?
Se tiver muitos usuários vai sim, porque a cada cinco segundos você executará uma requisição para o servidor. Você pode continuar com essa solução até que a base de seus usuários cresça, daí você pensa na solução de push notification.