如何确定 API 作业何时完成?



请原谅我可能有的任何误解,我是HTTP请求的新手。

我正在使用文件转换 API (online-convert.com( 将上传的 MIDI 文件转换为 MP3。 转换过程涉及 3 个必须串行完成的 HTTP 请求,我为此使用 Fetch。

第二个 HTTP 请求将输入文件上传到服务器,第三个 HTTP 请求获取已完成的作业详细信息。问题是,如果我尝试在第二个请求完成后立即发出第三个请求,则响应会指出转换过程仍在进行中,并且输出尚未准备好。

我天真的解决方案是设置一个间隔循环,该循环每 x 毫秒继续发出第 3 个请求,直到响应指示作业已完成。这感觉像是一个不自然的解决方案,我想知道是否有更好的方法来做到这一点。

抱歉,如果我的问题特定于我正在使用的 API,但任何建议将不胜感激!

感谢Patrick Evans上面的评论。 我决定通过轮询而不是回调 URL 来获取已完成作业的详细信息。

我能够使用 Fetch 和 async/await 轻松实现这一点,并发现这比为可能不需要它们的简单 Web 工具设置服务器端脚本更容易。

最新更新