angolare 2: 2.0.0-alpha.31/tipografico 1.5come gestire i servizi in Angular2
Attualmente gestisco il mio servizio come un semplice Class
, poi ho iniettare questo Class
in un altro componente. Esempio:
export class PlayerService {
http: Http;
players = [];
constructor(@Inject(Http) http) {
this.http = http;
}
getAll(callback) {
this.http.get('/data/players.json')
.toRx()
.map((res) => res.json())
.subscribe((data) => {
this.players= data;
callback(data);
});
}
add(player) {
//call webservice to save user
this.players.push(player); //only if save has work
}
delete(player) {
//Not implemented yet
}
get(id) {
//Not implemented yet
}
}
penso, lo sto facendo nel modo sbagliato ..
- sto usando
http.get().toRx().subscribe()
? Ho pensato di vedere che alcune persone restituiscono loObservable
direttamente datoRx()
- Se due componenti richiedono i giocatori (
getAll()
) contemporaneamente, verranno eseguite due query. Devo gestire la bandiera o c'è un altro modo? - Sto lavorando qui con un callback. Cosa devo fare se voglio che i dati "immediatamente" (senza asincrono)
- Il
components
sarà automaticamente informato sui giocatori add/remove? Devo usare qualche tipo di evento per gestire questo (qualsiasi esempio?)?
Quindi la mia domanda è:
- Esiste un modo comune per gestire i servizi in Angular2?
se le sue promesse, come, del suo meglio per loro ritorno dallo strato di servizio invece di passare callback –
Non è possibile rispondere tutte queste domande, ma [stanno progettando di cambiare l'API] (https://github.com/angular/angular/issues/2794). –