javascript - 如何在没有 promise 的情况下从 pouchdb 获取对象?

标签 javascript promise pouchdb

我正在使用 jquery 数据表,对于我的其中一列,我正在根据默认数据更改用户看到的值。示例

...,
columns: [
  { "title": 'Category', render: function ( data, type, row ) {return db.categoryName(data);}}
],
...

然后在我的函数中,我通过 id 获取 pouchdb 对象并返回找到的对象名称

  categoryName(id) {
    return dbQuery.doc(id).then((arg) => {
      console.log("the category name", arg.name);
      return arg.name;
    });
  }

我在控制台得到了正确的输出,但 View 显示每个文档的[object Promise]。当我只想以没有 promise 的方式返回一个值时,我对 promise 感到非常困难。

我怎样才能从promise返回一个值,以便我可以使用我的categoryName函数?或者是否有另一种方法可以在不使用 Promise 的情况下从 pouchdb 获取值,这样我就可以让我的 CategoryName 函数返回一个值而不是 Promise 对象?

最佳答案

获取操作是异步的,这就是为什么你只能返回一个 promise 。

您唯一的其他选择是传递回调:

categoryName(id, cb) {
  dbQuery.doc(id).then((arg) => {
    console.log("the category name", arg.name);
    cb(arg.name);
  });
}

关于javascript - 如何在没有 promise 的情况下从 pouchdb 获取对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39549209/

相关文章:

javascript - 遍历对象数组并返回对象键

javascript - 表单提交不起作用

javascript - $q.all 为所有值返回 undefined

android - PouchDB 不在三星 Android 手机上创建数据库(Android v. 4.1.3、4.2.2)

javascript - 下拉菜单中改变线宽

JavaScript 对象构造

javascript - 在 node.js 中使用按键启动操作

javascript - 请求- promise : downloading/checking a file's MIME type?

Angular 和 PouchDBFind 插件

使用 PouchDB 过滤设计文档