-1

I creating electron app with neDB.

I want to create function:

const getAllHosts = (db) => {
    db.find({}, (err, hosts) => {
        return hosts
    })
}

But when i call this function, it return undefined, i tried to change it to async, but it not helped me.

Antonio
  • 299
  • 1
  • 4
  • 13

1 Answers1

0

Because you're not returning anything from getAllHosts.

Try like this

const getAllHosts = (db) => {
   return new Promise((resolve, reject) => {
     db.find({}, (err, hosts) => {
       if (err) return reject(err);
       resolve(hosts)
     })
  })
}

getAllHosts().then(hosts => console.log(hosts)).catch(err => console.err(err))

If your db.find already returns a promise, you can try something like this

const getAllHosts = async (db) => {
   try {
     const hosts = await db.find({})
     return hosts
   } catch(err) {
     throw err
   }
}

getAllHosts().then(hosts => console.log(hosts)).catch(err => console.err(err))
Naren
  • 4,152
  • 3
  • 17
  • 28