使用以下 API,我需要重试请求,直到 response.data.status 的值 ===“完成”。有人知道如何实现这一目标吗?
const axios = require("axios");
const qs = require("qs");
let data = qs.stringify({
document_key: "038A2E0792CE72020E9BB88380D002EB582A6B3AE5883C34DE53C9F17D415D99",
});
let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api-free.deepl.com/v2/document/95BA71197AC66EE4745FF5269CF4399D",
headers: {
Authorization: apiKey,
"Content-Type": "application/x-www-form-urlencoded",
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(response.data.status);
})
.catch((error) => {
console.log(error.message);
return;
});
想重试 nTimes 直到 response.data.status === "done" 的值
const axios = require("axios");
const qs = require("qs");
let data = qs.stringify({
document_key: "038A2E0792CE72020E9BB88380D002EB582A6B3AE5883C34DE53C9F17D415D99",
});
let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api-free.deepl.com/v2/document/95BA71197AC66EE4745FF5269CF4399D",
headers: {
Authorization: apiKey,
"Content-Type": "application/x-www-form-urlencoded",
},
data: data,
};
function retryUntillSuccess(config, callback) {
axios
.request(config)
.then((response) => {
callback(null, response.data.status);
})
.catch((error) => {
retryUntillSuccess(options, callback);
});
}
retryUntillSuccess(config, function(err, resp) {
// Your code here...
});
我希望上面的代码能按照你的要求工作。只是一个模拟功能还没有测试。
• Firebase 托管重写路径以使用 GCP API 网关作为 SPA 的后端
• 如何在 Bitbucket REST API 中验证请求
• Postman - 如何按请求自动化 Oauth 2.0 流请求? [关闭]
• 密码重置确认/密码重置请求-Django Rest api
• 获取被 CORS 阻止。获取谷歌云功能时,航班请求未通过访问控制检查
• 403 - ERR_BAD_REQUEST:当 Lambda 调用 ApiGateway 端点时请求失败,状态代码为 403
• Laravel 8 cors 不适用于 post (api) 请求
• 如何从 AWS Lambda 中的回调返回 JWT 令牌[重复]
• 在 Skiddle 上提出 API 请求时出现问题:301 已移动