Dies ist der Code:Rxjs5, distinct() nicht funktioniert
, wenn Sie die do() vor dem distinct() Operator alles injizieren ist
ganz gut funktioniert, aber für einige Gründe, distinct() drucken nur das erste Objekt
_
Rx.Observable
.interval(1000)
.flatMap(_ => { // JSONP request
return Rx.Observable.create(observer => {
window.eqfeed_callback = res => {
observer.next(res);
observer.complete();
};
loadJSONP(QUAKE_URL);
}).retry(3);
})
.flatMap(res => Rx.Observable.from(res.features))
.map(quake => {
return {
lat: quake.geometry.coordinates[1],
lng: quake.geometry.coordinates[0],
size: quake.properties.mag * 10000,
code: quake.properties.code
};
})
.do(logToConsole) // DEBUG: all objects are logged to the console
.distinct(quake => quake.code) // it only log the first object !
.subscribe(logToConsole);
Was Codes zurückgegeben werden? Wenn sie alle den gleichen Code sind, dann ist das erwartete Verhalten ... – paulpdaniels
@paulpdaniels 1obj mit 4 Requisiten (lat, lng, Größe, Code) Ich denke, es ist der erste, der von unserer JSONP Anfrage kam! Wenn wir distinct löschen, werden viele Objekte zurückgegeben und sie sind alle voneinander verschieden ... was ist los? – Focus