我想在这里使用execAsync函数: https://developer.mozilla.org/en/Storage#Asynchronously
我想在handleResult和handleCompletion之间传递值。像
这样的东西statement.executeAsync({
handleResult: function(aResultSet) {
VALUE = 1
},
handleCompletion: function(aReason) {
print(VALUE);
}
});
最好的方法是什么?
答案 0 :(得分:3)
var value;
statement.executeAsync({
handleResult : function(aResultSet) {
value = 1;
},
handleCompletion : function(aReason) {
print(value);
}
});
答案 1 :(得分:0)
显而易见的是,您要将对象传递给executeAsync。 (特别是,它是一个mozIStorageStatementCallback,因此它也应该有一个handleError方法。)因此,您可以使用“this”关键字轻松地将特定于该对象的属性与该对象相关联:
statement.executeAsync({
value: 1,
handleResult: function(aResultSet) {
this.value = 0;
},
handleError: function(aError) {
this.value = 2;
},
handleCompletion: function(aReason) {
print(this.value);
}
});