我有以下调用,它在一个cacheListener对象中异步运行一个方法:
ohttp.asyncOpenCacheEntry(url, 4, cacheListener);
这是回调对象/函数的样子:
var cacheListener = {
onCacheEntryAvailable: function(arg1, arg2, arg3) {
// do something.
}
}
我要做的是为该回调添加一个额外的参数。我已经尝试在调用结束时附加第三个参数,然后在函数定义中添加,但它不会像这样(myArg在最后)正确传递:
ohttp.asyncOpenCacheEntry(url, 4, cacheListener, myArg);
以下是带有额外参数的回调对象/函数:
var cacheListener = {
onCacheEntryAvailable: function(arg1, arg2, arg3, myArg) {
// do something.
}
}
myArg,如期望的那样,没有传递,我不知道如何制作一个允许正确传递参数的构造。
感谢您的帮助,
答案 0 :(得分:2)
如果您不控制使用回调的代码,则必须将其打包。像这样:
ohttp.asyncOpenCacheEntry(url, 4, cacheListener, {
onCacheEntryAvailable: function(arg1, arg2, arg3) {
cacheListener.onCacheEntryAvailable(arg1, arg2, arg3, myArg);
}
});
如果回调对象中还有其他方法,那么你也必须包装它们。