localForage迭代不适用于JS文件

时间:2019-03-26 07:04:52

标签: javascript indexeddb localforage

数据库中有6个键,我通过在浏览器控制台中对其进行了确认。

以下代码仅循环3次,条件变为假后,它将停止。

localforage.iterate(function (value, key, iterationNumber) {
    console.log(key);
    if (key != lastReminderIdKey) {                            
        //console.log(value);                            
    }
}).then(function (value) {
    console.log('Iteration has completed');
}).catch(function (err) {
    console.log(err);
});

当此代码位于HTML文件中时,它可以正常工作。然后我将其移至JS文件,并且迭代/循环现在仅部分起作用。当我将其移回HTML文件时,它可以正常工作。

数据库中的键为1, 2, lastReminderKey, 3, 4, 5。 在控制台日志中,当从JS文件运行时,将输出:

1
2
lastReminderKey
Iteration has completed

这种行为的原因可能是什么?

1 个答案:

答案 0 :(得分:0)

您有可能在2个地方使用不同的localforage配置。尝试验证两个localforage实例是否具有完全相同的namestoreNamedriver集。

您可以在选项对象上检查这些属性。

const options = localforage.config();