gpt4 book ai didi

javascript - 从 Dexie promise 中获取值(value)

转载 作者:行者123 更新时间:2023-12-03 03:28:00 25 4
gpt4 key购买 nike

尝试使用Dexie.JS获取以下函数返回的数据:

function findEvent(key) {
let snippet = '';
if (!db.isOpen()) {
lastEvent = lastEvent.then(() => db.open());
}
lastEvent = lastEvent.then(() => db.transaction('r', db.events, () => {
db.events.each((element) => {
let d = element.cause.data;
if (d.hasOwnProperty('deleted') && (false == d.deleted) && d.hasOwnProperty('abbreviation') &&
d.hasOwnProperty('contents') && (d.abbreviation == key)) {
console.log(`found matching snippet for key: ${key}, contents: ${d.contents}`);
snippet = d.contents;
}
}).then(() => {
console.log('search callback returning:', snippet);
return snippet;
});
}));

return lastEvent;
}

我称之为:

  return findEvent(request.key).then((result) => {
console.log(`findEvent return: ${result}`);
});

显然,我做错了什么。我的 promise 会按照正确的顺序执行。我在 findEvent 内部的日志中正确打印了 snippet。当结果记录在调用代码中时,它是未定义

应该采取哪些不同的做法?

最佳答案

您不会从db.events.each返回 promise ,因此未定义的内容会通过管道传输到您的顶级 promise 中。

关于javascript - 从 Dexie promise 中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46230016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com