如何保持axios get请求运行,直到我们在响应中得到特定的结果

mec1mxoz  于 2022-12-12  发布在  iOS
关注(0)|答案(1)|浏览(141)

我的axios get调用需要几秒钟才能得到如下所示的“成功”结果

{
    "status": "succeeded",
    "createdDateTime": "2022-12-01T02:42:04Z",
    "lastUpdatedDateTime": "2022-12-01T02:42:06Z",
    "analyzeResult": {
        "version": "3.2.0",
        "modelVersion": "2022-04-30",
        "readResults": [
            {
                "page": 1,
                "angle": 12.8499,
                "width": 1

但是,有时我会收到以下响应,状态为运行,没有analyzeResult。

{
    "status": "running",
    "createdDateTime": "2022-12-01T02:42:04Z",
    "lastUpdatedDateTime": "2022-12-01T02:42:06Z",

在获得成功状态之前,应如何运行API调用?
我尝试下面的代码与异步等待,然后也捕捉

const result=  await axios.get(url,headers)
console.log(result.data)
jm81lzqq

jm81lzqq1#

这与async/await无关,如果我理解正确的话,后端发送的是带有状态键的响应,FE将在收到响应后开始执行。它不关心状态。

解决方案:

1.要求后端等待操作完成,然后发送响应。
1.操作一开始就发送带有状态键的响应,并公开另一个API以检查操作的状态。当操作需要更多时间时,这很有用。

相关问题