【发布时间】:2014-08-15 17:48:44
【问题描述】:
我正在为 Webkit Storage API(this API 的新版本)编写一个基本的包装器供我使用。我目前的问题是queryUsageAndQuota() 函数。
我对那个特定函数的包装最初看起来像这样:
self.pers.getQuota = function() {
self.pers.queryUsageAndQuota(function(usage,quota) {
return quota;
});
}
// self is a reference to the top level of this 'wrapper'
因此,我会致电 var quota = self.pers.getQuota(); 并返回配额。
失败后,我查看了this question 并对其进行了更改,因此我使用了用户定义的回调。现在函数是这样的:
self.pers.getQuota = function(callback) {
self.pers.queryUsageAndQuota(function(usage,quota) {
callback.call(quota);
});
}
但是,执行这一行:
self.pers.getQuota(function(quota) {
console.log(quota);
});
在日志中显示undefined。我不知道为什么,因为当我执行底层函数navigator.webkitPersistentStorage.queryUsageAndQuota() 时,我得到了正确的数字。
【问题讨论】:
-
quota 是一个数组吗?因为如果是的话,使用 call 是有意义的。但如果不是,只需调用
callback作为正常功能。
标签: javascript storage