为什么我没有获得清单中的所有数据?

Why am I not getting all the data in the manifest?

我有一个成功加载和转换的模型,但我还需要提取清单。不幸的是,当我提取清单时,我并没有完全得到它。我需要得到整个清单。我试图通过递归调用接收清单的函数来解决问题,但无论如何我都没有完全获得清单。我想知道递归调用的函数也没有收到清单的原因是什么以及如何解决这个问题。

function getManifest(getToken, urn) {
  return new Promise(async (resolve, reject) => {
    const baseUrl = "https://developer.api.autodesk.com";
    const url = `${baseUrl}/modelderivative/v2/designdata/${urn}/manifest`;
    const token = typeof getToken == "function" ? await getToken() : getToken;

    const fetch = () =>
      request(
        {
          url,
          method: "GET",
          headers: {
            Authorization: token,
            "Content-Type": "application/json",
            Accept: "application/json",
          },
          json: true,
        },
        async (err, response, body) => {
          if (err) {
            return reject(err);
          }

          if (body && body.errors) {
            return reject(body.errors);
          }

          if (body.progress !== "complete") {
            await require("util").promisify(setTimeout)(3000);
            return fetch();
          }

          if ([200, 201, 202].indexOf(response.statusCode) < 0) {
            return reject(response);
          }

          return resolve(body || {});
        },
      );

    return fetch();
  });
}

发布翻译作业后,完成翻译需要时间(取决于文件大小)。

如果您想在翻译 100% 完成后立即获得清单,请使用此 webhook api and mention workflowid in post job like shown here

对于开发模式下的 webhook url,您可以使用 ngrok