将 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