JS Promises-如何使axios呼叫等待?

时间:2018-11-26 17:32:57

标签: javascript promise wait

这就是我要完成的工作。 在我的应用程序中,我想检查以前是否已从应用程序其他位置的API调用中加载了一些数据。如果没有,那么我想加载数据。但是,在确保有数据之前,我不想在应用程序中走得更远。

所以伪代码看起来像这样。

if (!dataIsloaded) {
  axios.get("/api/getData").then((data) => {
    saveData(data); 
    dataIsLoaded=true;
  });
}

// don't go any further until I'm assured I have the data

有人可以提供代码段如何完成此操作吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您不必等待,只需在数据存在后运行处理即可:

const testArray = [ 
    {
        "T1": 1
    },
    {
        "T2": 12
    },
    {
        "T3": 20
    }
]
const x = testArray.reduce((count, x, index) => {
  const key = `T${index+1}`; // prepare the dynamic key T1, T2,...
  return count + x[key];
}, 0); // <-- 0 is the initial value of sum 

console.log(x)