0

我省略了一些代码,但这是核心:

function App() {

var self = this;

window.requestFileSystem(LocalFileSystem.PERSISTENT, 
                          0, self.onGotFs, self.onError(1) );


... omitted ....


this.onGotFs = function(file_system) {
    console.log("gotFs:" + file_system.root.full_path );
    self.file_system = file_system;
};

this.onError = function(id) {
    console.log("app error #" + id);
};


    ... omittted ...

}

看着控制台,我看到了两条消息

app error #1
gotFs ! 

请注意:我看不到 file_system.root.full_path 字符串。这不是打印端

所以主要问题是:

为什么 requestFileSystem 同时触发成功和错误回调?

可能我缺少一些知识库;我是一个html5新手

文档

我在 w3c 文档中看到了这个定义- 第 4.4.1 段

interface LocalFileSystem {
    const unsigned short TEMPORARY = 0;
    const unsigned short PERSISTENT = 1;
    void requestFileSystem (unsigned short type, unsigned long long size, FileSystemCallback successCallback, optional ErrorCallback errorCallback);
    void resolveLocalFileSystemURL (DOMString url, EntryCallback successCallback, optional ErrorCallback errorCallback);
};
4

1 回答 1

1
self.onError(1)

这会onError 立即调用并将结果传递给requestFileSystem.

您需要传递一个调用的函数onError

requestFileSystem(..., function() { self.onError(1); });

此外,onGotFs被称为错误this。您可以通过类似的功能或通过self.onGotFs.bind(self)

于 2013-03-21T20:57:30.610 回答