Каков синтаксис для await с обработчиком событий для pouchdb? - PullRequest
1 голос
/ 09 мая 2019

Я хочу переписать следующее, используя async / await

db.replicate.from(remoteCouch).on(
  'complete', (info) => {
     db.sync(remoteCouch, { live: true, retry: true })
   })

Как мне обработать событие on, используя await?


Будет

var res = await db.replicate.from(remote)
res.on('complete',  (info) => {
   db.sync(remote, opts)
})

работа?

Нужен ли мне дополнительный асинхронный вызов / ожидание при обратном вызове?

1 Ответ

2 голосов
/ 09 мая 2019

Согласно документации на replicate(), объект, возвращаемый .from(), на самом деле удовлетворяет интерфейсу Promise.

В общем, вызовы API, сделанные через PouchDB, возвращаютобъекты, которые могут работать как Promise, в соответствии с Обзор API :

Если вы не укажете обратный вызов, то API вернет обещание.В поддерживаемых браузерах или Node.js используются нативные обещания, в которых при необходимости используется минимальная библиотека.

...