PDFJS:通过范围请求获取一些不必要的块并使第一页变慢

PDFJS: Get some unnecessary chunks with range request and make first page slow

配置:

  1. 我使用范围请求来渲染pdf
  2. 我用这行代码得到了更多块 await this.pdfManager.requestRange(ex.begin, ex.end);;
  3. 呈现第一页时不需要这些块;
  4. 当我注释这行代码时,该程序似乎也 运行 正常,而且我可以获得更少的块以使第一页更快;
  5. 那么这部分代码的作用是什么?
  6. 是否可以不执行或者不用await?
// src/core/xref.js

async fetchAsync(ref, suppressEncryption) {
    try {
      return this.fetch(ref, suppressEncryption);
    } catch (ex) {
      if (!(ex instanceof MissingDataException)) {
        throw ex;
      }
      await this.pdfManager.requestRange(ex.begin, ex.end);
      return this.fetchAsync(ref, suppressEncryption);
    }
  }

当我注释这行代码时,我可以得到更少的块,而且程序似乎 运行 很好

如果我什么都不做,网络中的范围请求是这样的

在 v2.12.313 中,PDFJS 将在文档初始化时检查最后一页是否可以成功加载,以确保 numPages 正确,然后回退到遍历整个 /Pages-tree。 #14570