autodesk-forge - 为什么我没有得到清单中的所有数据?
问题描述
我有一个成功加载和转换的模型,但我还需要提取清单。不幸的是,当我提取清单时,我并没有完全得到它。我需要获取整个清单。我试图通过递归调用接收清单的函数来解决这个问题,但无论如何我都没有完全得到清单。我想知道递归调用的函数也没有收到清单的原因是什么,以及如何解决这个问题。
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并在 post job 中提及 workflowid,如下所示。
对于开发模式下的 webhook url,您可以使用ngrok
推荐阅读
- android - Android手机锁屏上的按钮
- flutter - 双字母键值的 Dart 手动翻译文本问题从不显示
- javascript - 将 FullCalendar eventRender 升级为 eventDidMount 以进行右键单击操作
- compression - 如何为序列压缩定义最佳块?
- c# - 努力在 C# 中使用绑定变量
- python - 无法在 .py 脚本中导入 python 模块和 Caffe,但能够在 ipython 中导入(Google Colab)
- python - 如何绕过python请求中的403响应代码
- angular - HTML表单在被点击之前有一个错误的布局
- postgresql - 来自多个 TimescaleDB Hypertables 的连续聚合可能会出现什么问题?
- azure-functions - 如何制作 azure 函数 RESTful crud 操作和 powershell