javascript - 如何确定 API 作业何时完成?
问题描述
请原谅我可能有的任何误解,我是 HTTP 请求的新手。
我正在使用文件转换 API (online-convert.com) 将上传的 MIDI 文件转换为 MP3。转换过程涉及 3 个必须串行完成的 HTTP 请求,我为此使用 Fetch。
第 2 个 HTTP 请求将输入文件上传到服务器,第 3 个 HTTP 请求获取已完成的作业详细信息。问题是,如果我尝试在第二个请求完成后立即发出第三个请求,则响应表明转换过程仍在进行中并且输出尚未准备好。
我幼稚的解决方案是设置一个间隔循环,每隔 x 毫秒继续发出第 3 个请求,直到响应表明作业已完成。这感觉像是一个不自然的解决方案,我想知道是否有更好的方法来做到这一点。
抱歉,如果我的问题是针对我正在使用的 API 的,但我们将不胜感激任何建议!
解决方案
感谢以上 Patrick Evans 的评论。我决定通过轮询而不是回调 URL 来获取已完成作业的详细信息。
我能够使用 Fetch 和 async/await 轻松实现这一点,并且发现这比为可能不需要它们的简单 Web 工具设置服务器端脚本更容易。
推荐阅读
- javascript - “无法解构'this.props.reservation'的属性'reservations',因为它是未定义的”并过滤它ReactJs
- java - 方法中的局部变量未更新
- python - 使用 pandas.Series.dtype 作为字典键?
- javascript - 在将脚本作为子进程运行之前的存根函数
- powerbi - 由 2 列聚合的 2 行之间的 DATEDIFF DAX
- google-cloud-platform - Google Identity Platform 定价 - 每月活跃用户
- amazon-web-services - 移除 OAuth 社交提供者
- javascript - 等待继续执行
- c# - Microsoft HID 输出报告问题
- android - PostgreSQL 数据库访问 - 身份验证类型 10 错误