это вопрос, чтобы понять немного больше о rxjs и о том, как обрабатываются наблюдаемые.
Я подключаюсь к моей базе данных в моем модуле базы данных, и по завершении я возвращаю наблюдаемый для моего основного модуля.
connectToDB: function () {
return new Observable(
(observer) => {
sql.connect((err, result) => {
if (err) return err;
observer.next(result);
observer.complete();
});
}
);
}
в моем основном приложении я слушаю наблюдаемое, а затем делаю несколько запросов, как только оно подключено, вот так:
from(db.connectToDB).switchMap((isConnected)=>{
const surveyQuestions = db.queryDB("//QUERY"); //this function is exactly the same as connectToDb, only difference is that I return the result of the query
});
Чего я не понимаю, так это почему, если я возвращаю наблюдаемое в моем модуле БД, почему мне нужно использовать функцию from в моем основном модуле? Я думал, что если я вернусь к наблюдаемой, мне не понадобится. Но если его не использовать, узел не увидит его как наблюдаемый. Есть ли какое-то объяснение этому? Или я что-то не так делаю?
Спасибо за ваше время