0

我有一个简单的 Dexie 表搜索功能,我想在实际运行搜索代码后返回搜索到的项目

function ReturnItemFromTable() {
  db.table1
   .where('field1')
   .equals('some value')
   .first(function(item) {
     return item
  }
}

所以我知道上面代码中的“返回”在错误的位置,函数知道它应该被返回。但是如果我把它放在正确的位置,它会在 table.where 有机会运行之前得到返回,因此返回未定义。

有没有办法让这个订单正确完成?

谢谢,弗兰克

4

1 回答 1

0

在 'db.table1' 之前放置一个 'return' ,您的函数将返回一个 Promise,该 Promise 将解析结果。

调用它:

ReturnItemFromTable().then(function (result){
    alert('got ' + result);
}).catch (function (error) {
    alert (error);
});
于 2017-08-13T22:18:21.680 回答