我想在游标对象外部打印在游标中设置的变量“ set”的值。
request.onsuccess = function(e){
var set = 0;
var transaction = db.transaction(['List'], "readonly");
var objectStore = transaction.objectStore('List');
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if(cursor) {
// console.log(cursor.value.Name);
if (cursor.value.Name == $('#card').val())
{
console.log("aisa kabhi hoga hi nahi");
set = 1;
}
cursor.continue();
}
else
{
console.log('Entries all displayed.');
if (set == 0)
{
set= ippp();
console.log(set);
}
}
};
console.log(set);
}
当我在光标内打印我的设置变量时,如图“打印正确的数据”。
但是,当我尝试在光标外部打印变量“ set”的数据时,我最初声明的值将被打印。 “当我重置光标中的变量值时,怎么可能?”
我的问题是如何在游标对象之外的游标内访问设置为变量“ set”的值。
答案 0 :(得分:0)
在使用indexedDB之前,您需要了解异步编程。真正的答案是去学习。
不过,作为快速解答,您可以使用回调函数。
function outerFunction(myCallbackFunction) {
// do stuff
request.onsuccess = function(event) {
var cursor = event.target.value;
var value = cursor.value;
// Here is the whole trick to getting the value out. Pass the value to the
// callback function.
myCallbackFunction(value);
};
}
// Then to call it, you do something like this, where 'oncompleted'
// is the name of the callback function
outerFunction(function oncompleted(value) {
console.log('The value is', value);
});