Boa noite, professor. Estou com uma dúvida referente à abordagem de reapresentação dos dados após a remoção de uma foto.
A dúvida gira em torno do método de remoção em si:
remove(foto) {
this.service
.remove(foto)
.subscribe(
() => {
console.log('Foto removida com sucesso');
let novasFotos = this.fotos.slice(0);
let indice = novasFotos.indexOf(foto);
novasFotos.splice(indice, 1);
this.fotos = novasFotos;
},
erro => console.log(erro)
);
}
Vemos aqui claramente que, ao remover uma foto, há uma reatribuição do novo conteúdo à lista. Eu entendi que essa estratégia consiste em evitar uma requisição desnecessária ao servidor (mais especificamente ao método listar()). Porém, supondo que dois clientes estejam interagindo com a aplicação simultaneamente e - caso um deles remova uma foto e o outro remova outra foto - a abordagem acima só iria identificar a mudança feita pelo respectivo cliente, correto? Se houvesse uma chamada ao método listar(), esse problema não ocorreria, pois eu estaria solicitando os dados novamente do servidor, certo? Qual abordagem eu deveria utilizar no caso de uma aplicação acessada simultaneamente por vários clientes?
Obrigado!