所以,我使用的是IndexedDB,它有一些数据。我想搜索它,一旦匹配,我返回了相应的数据。这是代码:
function code1(sname){
var db;
var request1 = indexedDB.open("footballDatabase",1);
request1.onsuccess = function (evt) {
db = request1.result;
var objectStore = db.transaction("teamsData").objectStore("teamsData");
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if (cursor) {
var name = cursor.value.name;
if(sname === name){
var code = cursor.value.code;
console.log(sname + " " +code);
return code;
}else{
cursor.continue();
}
}
};
}
}
这是函数调用:
alert(code1("Chelsea FC"));
当我记录结果时,控制台会正确显示所有内容。但是当返回时,它显示未定义。 我知道JS中的undefined意味着,变量之前没有被正确初始化。但在这种情况下,它是,因为它记录了相同的变量。
我知道,我做错了什么,我只是弄不清楚是什么。希望你们能帮助我。