angularfire получает постоянное значение из базы - PullRequest
0 голосов
/ 10 мая 2018

получение значений из firebase через подписку - это вариант, который мы обычно используем, но предположим, что у меня есть некоторое постоянное значение, сохраненное в базе данных firebase, и я хочу прочитать это значение при вызове моей функции, как я могу получить значение без подписки.

Проблемные пункты Я генерирую номер Покупки при отправке заказа на покупку, получаю последнее значение, сохраненное в базе данных, и добавляем +1 к этому числу для генерации нового номера заказа.я использую это через службу, в которой я делаю вызов, подобный этому:

getOrderNumber() {
  this.db.list('lastOrderNumber').valueChanges()
}

Теперь в PurchaseComponent я получаю полную информацию от пользователя и затем вызываю вышеуказанную службу, чтобы получить lastOrderNumber как это:

onOrderSubmit(formValue) {
  let orderNumber = this.orderService.getOrderNumber() +1;
  this.db.object('purchaseOrder/'+orderNumber).update(formValue);
}

Теперь getOrderNumberService возвращает наблюдаемое, и оно приходит асинхронно, а выполнение функции происходит синхронно.

Любая помощь, как я могу получить постоянное значение из базы данных, не используя наблюдаемый или любой другой лучший подход.

ПРИМЕЧАНИЕ для простоты синтаксиса может быть немного неправильно, янадеюсь, что фактический сценарий проблемы объясняет.

Заранее спасибо.

...