внутримышечно довольно новое Rxjs, но теперь у меня есть проблема: У меня есть этот код:Наблюдаемые удваивается
const requestStream = Observable.of({
url: siteLocation + 'login',
body: {
personnelNumber : personnelNumber,
password : password
}
});
requestStream.subscribe(response => {
console.log("Hello")
});
const responseStream : Observable<Response> = requestStream
.flatMap(request => {
console.log("Hello2");
return this.http.post(request.url, JSON.stringify(request.body), {
headers: this.getHeaders()
});
});
const jsonStream = responseStream.map(response => response.json());
jsonStream.subscribe(json => {
console.log("Hello3");
this.authToken = json.authToken;
});
Но я получаю этот выход:
Hello
Hello2
Hello2
Hello3
Почему flatMap удваивает мой запрос Stream и даже если это отступы, почему результирующий поток json нормальный снова?
Проблема в том, что я вхожу в мой API с этим фрагментом, и я дважды вхожу в систему, поэтому во второй раз, когда я вхожу в систему, мой первый authToken недействителен, и я получаю новый. Но поскольку я сохраняю только первый, мой сохраненный токен никогда не будет действительным.
Я проверил запросы и ответы в Chrome, все они правильные.