JS Promises - 如何让 axios 调用等待?

JS Promises - how to make a axios call 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

有人可以提供代码片段如何实现吗?谢谢!

您无需等待,只需运行您在数据到达后进行处理:

if (!dataIsloaded) { // First retrieve the data
    axios.get("/api/getData").then((data) => {
        saveData(data); 
        dataIsLoaded=true;
        doSomethingWithTheData(data); // Finally use the data
    });
}
else { // Directly use the data
    doSomethingWithTheData(data);
}

...

function doSomethingWithTheData(data) {
    ...
}