繁体   English   中英

在javascript异步回调函数之间传递参数

[英]Passing parameters between javascript asynchronous callback functions

我想在这里使用execAsync函数: https : //developer.mozilla.org/en/Storage#Asynchronously

我想在handleResult和handleCompletion之间传递值。 就像是

statement.executeAsync({
  handleResult: function(aResultSet) {
    VALUE = 1
  },

  handleCompletion: function(aReason) {
    print(VALUE);
  }
});

最好的方法是什么?

var value;

statement.executeAsync({
  handleResult : function(aResultSet) {
    value = 1;
  },
  handleCompletion : function(aReason) {
    print(value);
  }
});

好了,值得注意的是,您正在将一个对象传递给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);
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM