我正在使用 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/