2016-04-07 7 views
0

so dass ich forkJoin bin mit mehreren Anrufen zu den HTTP-Dienst zu erstellen, wie inwenn rxjs mit forkJoin für http Anrufe verwenden, auf keine Meldung fehlgeschlagen ruft Antwort/Fehlertyp

let observables = [ 
    this.http.get('/app/books.json').map((res:Response) => res.json()), 
    this.http.get('/app/movies.json').map((res:Response) => res.json()) 
]; 

Observable.forkJoin(observables).subscribe(
    data => { 
     this.books = data[0] 
     this.movies = data[1] 
    }, 
    err => console.error(err) 
); 

die großen Werke, die einzige Frage, ist, dass, wenn ein bestimmter Anruf fehlschlägt, ich keine Informationen über warum bekomme (ich bekomme nur ein OK und Status 200 auf dem Fehler: Response-Objekt)

Ich sehe den Fehler in der Konsole, aber nicht in der Antwort zurück.

Wie kann ich es abrufen?

tx

Sean

enter image description here

+0

könnten Sie sicher, Server erreichbar ist? und der Fehler, den du bekommst, passiert von irgendwo anders .. weil die URL in der Konsole anders ist als die, die du in der 'Observable.forkJoin' Methode –

+0

hast, das ist die Sache, ich stelle sie absichtlich in eine ungültige URL um sie zu testen out, so kann ich sehen, wie Fehler in Runtime IF und WENN ein Server ist abzufangen ... das Problem ist, dass mit Observables kann ich nicht scheinen, um den Fehler Grund zu fangen (ich kann den Fehler, aber nicht die Details zu fangen, als in Connection timed out zum Beispiel ...) – born2net

Antwort

2

ich ein wenig dieses Problem untersucht. Es ist nicht wirklich mit dem Benutzer von Observable.forkJoin verwandt. In der Tat können Sie nicht die genaue Nachricht haben. Ich meine die net::ERR_CONNECTION_TIME_OUT. XHR bietet es nicht an.

Das heißt, Sie können sehen, dass die status von XHR ist 0. Dies könnte ein Hinweis darauf sein, dass beim Senden der Anfrage ein Problem aufgetreten ist (es wird nicht gesendet).

error => { 
    (...) 
    var err = error.json(); 
    var status = err.currentTarget.status; 
    (...) 
} 

diese Frage Siehe:

+0

tx, ich habe auch in die Zuordnung des Status, weißt du, ob jeder Fehler hat seinen eigenen Code (RFC vielleicht?), wenn das so würde ausreichen, wie ich es intern zuordnen könnte. .. tx wie immer für die tolle Unterstützung !!! – born2net

+0

gefunden, aber nicht wirklich "Codes" https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest – born2net

Verwandte Themen