2016-03-21 2 views
1

Im eine Anfrage in Winkel 2. auszuführen versucht, ich habe einige abonniert dieser HTTP-Anforderung und will ich der Lage sein, eine Funktion zu tun, nachdem alle abonnierten getan werden ..angular2: Obserable <Response> subscribeOnCompleted definiert nicht

Nach ot rxjs Dokumentation subscribeOnCompleted ist die Funktion, die ich will, aber aus irgendeinem Grund bekomme ich Methode undefined .. jemand Idee warum?

Dies ist der Code:

class MyHttp extends SomeExternalLibClassThatExtendHttp { 
request(url....) { 
    ... 
    ... 
    return super.request(..) 
    .subscribeOnCompleted(res => res.json); <-- this need's to be last 
} 
} 

Die externe lib auch einige abonniert auf die Anforderung haben.

Antwort

-1

Ich benutze toPromise() von Observerable und als nenne Kriskowal des Q.all (Versprechen [])

Auch dritten Rückruf in abonnieren Methode ein vollständiger Rückruf ist. Dort könnten Sie einen Zähler inkrementieren, auf den in allen vollständigen Rückrufen zugegriffen werden könnte. Wenn der Zähler die Grenze der Aufgaben erreicht, führen Sie die benutzerdefinierte Methode aus.

+0

Das wird nicht funktionieren, da ich weiß nicht, wie viel abonnierten es an das externe lib ist .. – tubu13

+0

würde ich brauche etwas mehr Code – kit

+0

im mit ein, um zu sehen externe lib namens 'ng2-ui-auth' und im erweitern der 'JwtHttp' Klasse. Wenn ich also' super.request ...' zurückbringe, ruft es die Anfrage von 'JwtHttp' auf. Dort erwartete er, die Antwort zu bekommen, ist es .. das ist, warum ich '.map' auf der Anfrage https://github.com/ronzeidman/ng2-ui-auth – tubu13

1

Soweit ich das feststellen kann, wurde subscribeOnCompleted aus RxJS 5 entfernt. Sie müssen die reguläre subscribe-Funktion verwenden und Ihren Callback als dritten Parameter übergeben.

By the way, die RxJS 5 docs sind hier: http://reactivex.io/rxjs/

Verwandte Themen