gpt4 book ai didi

javascript - Dexie startsWithIgnoreCase() 函数数组未定义

转载 作者:行者123 更新时间:2023-11-30 13:49:06 24 4
gpt4 key购买 nike

我正在使用 startsWithIgnoreCase 查询 dexie 数据库并将结果推送到一个数组中,但是在打印或使用它时,它会抛出一个未定义的错误

我已经尝试使用 JSON.stringify、toString、String 将其转换为字符串并在控制台上打印,但它仍然显示未定义

虽然将整个数组打印到控制台显示正常的 Array()

arr = [];
db.table('friends').where('name').startsWithIgnoreCase('DoB/')
.each(function (friend) {
arr.push(String(friend.name));
});
console.log(arr[0]); //undefined
console.log(arr); //Array() with correct element inside

我至少应该在使用 console.log(arr[0]) 时打印一些东西

最佳答案

从数据库调用数据是异步的,除非您告诉它,否则 javascript 不会等待您完成任务。在查询中使用异步/等待。像这样:

async myControllerFunction()=>{
arr = [];
let firends = await db.table('friends').where('name').startsWithIgnoreCase('DoB/')
.each(function (friend) {
arr.push(String(friend.name));
});
console.log(arr[0]);
console.log(arr);
}

关于javascript - Dexie startsWithIgnoreCase() 函数数组未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58648190/

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