我的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)
1条答案
按热度按时间jm81lzqq1#
这与async/await无关,如果我理解正确的话,后端发送的是带有状态键的响应,FE将在收到响应后开始执行。它不关心状态。
解决方案:
1.要求后端等待操作完成,然后发送响应。
1.操作一开始就发送带有状态键的响应,并公开另一个API以检查操作的状态。当操作需要更多时间时,这很有用。