将 GetFile 与 Phonegap 一起使用时的独占参数
exclusive parameter when using GetFile with Phonegap
我正在阅读有关 PhoneGap 的文档,但在获取文件时我很难理解独占参数的意义。
因此文档将其列为示例。
// Create the lock file, if and only if it doesn't exist.
lockFile = dataDir.getFile("lockfile.txt", {create: true, exclusive: true});
所以我正在努力解决的问题是,如果文件不存在,它肯定只会创建 "lockfile.txt" 吗?
将 exclusive 参数设置为 true 有何不同?什么时候需要?
不同的对象字面量及其区别
创建为假:
- 独占将被忽略。
- 如果路径存在,将返回文件。
- 如果路径不存在,则会抛出错误。您将收到错误代码 1 (NOT_FOUND_ERR).
- 如果路径存在,但它是一个目录,则会抛出错误。您将收到错误代码 11 (TYPE_MISMATCH_ERR)。
创建为真:
如果 exclusive 为真且路径已存在,则会抛出错误。您将收到错误代码 12 (PATH_EXISTS_ERR)。
如果 exclusive 为 false,当路径已经存在时,您将不会收到任何错误。当路径不存在时,将创建一个文件。
我在上面输入的所有内容也显示在下图中。
将 exclusive 参数设置为 true 有何不同?
当 create 为 false 时,不会有任何区别。当 create 为 true 并且文件存在时,它不会被覆盖,你会得到一个错误。您将收到错误代码 12 (PATH_EXISTS_ERR)。
什么时候需要?
也许您不希望您的文件被覆盖。
来源:
图片:https://developer.mozilla.org/en-US/docs/Web/API/DirectoryEntry
错误代码:https://developer.mozilla.org/en-US/docs/Web/API/FileError
我正在阅读有关 PhoneGap 的文档,但在获取文件时我很难理解独占参数的意义。
因此文档将其列为示例。
// Create the lock file, if and only if it doesn't exist.
lockFile = dataDir.getFile("lockfile.txt", {create: true, exclusive: true});
所以我正在努力解决的问题是,如果文件不存在,它肯定只会创建 "lockfile.txt" 吗?
将 exclusive 参数设置为 true 有何不同?什么时候需要?
不同的对象字面量及其区别
创建为假:
- 独占将被忽略。
- 如果路径存在,将返回文件。
- 如果路径不存在,则会抛出错误。您将收到错误代码 1 (NOT_FOUND_ERR).
- 如果路径存在,但它是一个目录,则会抛出错误。您将收到错误代码 11 (TYPE_MISMATCH_ERR)。
创建为真:
如果 exclusive 为真且路径已存在,则会抛出错误。您将收到错误代码 12 (PATH_EXISTS_ERR)。
如果 exclusive 为 false,当路径已经存在时,您将不会收到任何错误。当路径不存在时,将创建一个文件。
我在上面输入的所有内容也显示在下图中。
将 exclusive 参数设置为 true 有何不同?
当 create 为 false 时,不会有任何区别。当 create 为 true 并且文件存在时,它不会被覆盖,你会得到一个错误。您将收到错误代码 12 (PATH_EXISTS_ERR)。
什么时候需要?
也许您不希望您的文件被覆盖。
来源:
图片:https://developer.mozilla.org/en-US/docs/Web/API/DirectoryEntry
错误代码:https://developer.mozilla.org/en-US/docs/Web/API/FileError