[英]Import data from async function
我正在處理一個使用 AWS Cognito 的項目。 有一些配置參數需要通過 API 調用從服務器獲取。 我將 API 調用保留在 config.js 文件中,並使用 async/await 從服務器獲取響應,如下所示
const getCognitoConfigs = async () => {
const res = await axios.get(`${apiurl.apiurl}/logininfo`);
console.log(res.data);
return res.data;
};
export default getCognitoConfigs;
在我的 index.js(我設置 Cognito 的地方)中,我從 config.js 文件導入函數
import getCognitoConfigs from "./config";
const configs = getCognitoConfigs();
Amplify.configure({
Auth: {
mandatorySignIn: true,
region: configs.cognito.region,
userPoolId: configs.cognito.user_pool,
userPoolWebClientId: configs.cognito.app_client_id
}
});
問題是 async await 不會停止程序執行,所以我得到的 'configs' 未定義。 無論如何,我可以讓應用程序停止,直到 api 調用解決嗎? 謝謝。
如果你想使用 async/await,你必須將 index.js 包裹在一個異步函數中並添加
await getCognitoConfigs();
或者你可以像這樣使用承諾
getCognitoConfigs().then(res => Amplify.configure({...}))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.