【问题标题】:Dexie function return item after seaching [duplicate]搜索后的Dexie函数返回项目[重复]
【发布时间】:2018-01-21 17:30:21
【问题描述】:

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

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

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

有没有办法正确完成这个排序?

谢谢, 弗兰克

【问题讨论】:

  • Louis,我已经看到了您的答案,因为它是在我在此处发布问题之前搜索答案时出现的。虽然它对于像我这样对异步编程概念有些陌生的人来说是一种教育资源,但它根本不是我的问题的完全重复。

标签: javascript indexeddb dexie


【解决方案1】:

在“db.table1”之前放置一个“return”,您的函数将返回一个 Promise,该 Promise 将根据结果进行解析。

叫它:

ReturnItemFromTable().then(function (result){
    alert('got ' + result);
}).catch (function (error) {
    alert (error);
});

【讨论】:

  • 是的,这就像一个魅力。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2014-12-26
  • 2022-11-08
  • 2023-01-13
  • 1970-01-01
  • 2023-04-10
  • 2013-07-29
  • 1970-01-01
  • 2016-12-29
相关资源
最近更新 更多