code: function AjaxPreloadPromise(pageDOM) {
    const self = this;
    return new Promise((resolve, reject) => {
      let asyncTasks = [];
      console.time("预加载Ajax用时");
  
      /***
       * 查看是否有需要预加载的Ajax页面
       */
      $(pageDOM).find("a[ct-data-preload=true][ct-pageId]").each((index, aDom) => {
        const ctDataAjax = aDom.getAttribute("ct-data-ajax");
        const pageId = aDom.getAttribute("ct-pageId");
  
        if (
          !pageId &&
          ctDataAjax &&
          ctDataAjax === "false"
        ) {
          return false;
        }
  
        const pageRouterConfig = self.config.router[pageId];
        const href = (pageRouterConfig && pageRouterConfig.url) ? pageRouterConfig.url : "";
        if (!href) {
          return false;
        }
  
        asyncTasks.push($.ajax({
          dataType: "text",
          url: href,
          success: (templateText) => {
            this.templateDB[pageId] = CtMobileFactory.getPageTemplateStrByAjaxStr(templateText);
          },
          error: (error, status, thrown) => {
            reject(error);
          }
        }));
      });
  
      if (asyncTasks.length !== 0) {
        Promise.all(asyncTasks).then(() => {
          console.timeEnd("预加载Ajax用时");
          resolve();
        }).catch(() => {
          reject();
        });
      } else {
        resolve();
      }
    });
  }
docs: 预加载Ajax的页面
  @access private
  @callback
  @param {HtmlElement} pageDOM
  @return {Promise}