У меня есть следующий метод:Угловые 2 исполняющие наблюдаемые в серии
getProject(name) {
this.ProjectName = name;
//Friendly URL to ID --> FIRST OBSERVABLE
this.af.database.object('/friendly_urls/' + name).take(1).share().map((data) => {
//ID to data --> SECOND OBSERVABLE
this.af.database.object('/Project/' + data.$value).take(1).map((ProjectData) => {
console.log("Received Project data");
this.ProjectData = ProjectData;
});
},
error => {
console.log(error);
/* TODO: Permission blocked page */
this.router.navigate(['']);
});
}
}
У меня есть 2 наблюдаемыми: Первый наблюдаемым, который выполняется первым, и второй - который выполняется сразу же после него.
Я попытался понять, как использовать this в моем случае и не мог понять это.
Как я могу выполнять эти наблюдаемые в серии без видимых внутри наблюдаемых?
Привет, спасибо! Но если я подпишусь на 'projectData $', переменная '' ProjectData' будет наблюдаться 'this.af.database.object ('/ Project /' + data. $ Value)', а не фактическая информация, которая мне нужна (которая это подписка на это наблюдение) – Elikos
Это приводит к тому, что мне нужно сделать 2 подписки так же, как и один за другим. 'ProjectData.subscribe ((data) => {this.RealProjectData = data});' – Elikos
@Elikos Я знаю, что 'database.object' возвращает Observable. Вот почему я использую 'switchMap' вместо' map'. Вы уже пробовали мое решение, и это не сработало или вы прогнозируете, что произойдет? – BeetleJuice