Angular 6: невозможно привязать данные API к var в клиенте

go-oleg в принципе прав, но в эти дни вы (вероятно) не хотите использовать «mongodb» самостоятельно, скорее используйте некоторую фреймворк, которая сделает для вас много «грязной работы».

Например, мангуст является одним из самых распространенных. Это то, что мы имеем в нашем исходном файле server.js:

const mongoose = require('mongoose');
const options = {server: {socketOptions: {keepAlive: 1}}};
mongoose.connect(config.db, options);

Это все, что необходимо для его настройки. Теперь используйте это в любом месте вашего кода

const mongoose = require('mongoose');

И вы получите тот экземпляр, который вы установили с помощью mongoose.connect

1
задан J1297 16 January 2019 в 16:00
поделиться

1 ответ

Вы не показываете определение типа собрания и ваш класс контроллера, но попробуйте

.subscribe(data => { this.meeting = data; console.log(this.meeting) } )

Проблема, которую console.log показывает undefined, заключается в том, что функция обратного вызова внутри подписки выполняется асинхронно (ПОСЛЕ следующей строки кода: console.log) - поэтому, если вы поместите console.log в функцию обратного вызова, вы увидите результат

Вы также можете использовать следующую конструкцию с async / await:

async getData() {
    this.meeting = await this.meetServ.rolloutMeeting(this.singleMeetingID).toPromise();
    console.log(this.meeting)
}

, но вы должны знать, что на самом деле код после await (console.log) будет запускаться асинхронно после загрузки данных (так что это что-то вроде синтаксического сахара, который делает ваш асинхронный код похожим на синхронный, поэтому он менее вложен)

0
ответ дан Kamil Kiełczewski 16 January 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: