javascript - 在这种情况下如何使用 Async/Await?

标签 javascript reactjs async-await fetch openid-connect

我有一个 index.js,它从 json 文件获取数据。
我将此函数导出到我的 App.js,我想将这些数据存储在另一个对象中。

配置/index.js:

let config = (async () => {
    let data;
    if (process.env.NODE_ENV !== 'development') {
        if (
            typeof window !== 'undefined' &&
            (window.location.hostname.match('localhost') || window.location.hostname.match('127.0.0.1'))
        ) {
            data = require('./config.client.local.json');
        } else {
            data = require('./config.client.ip.json');
        }
    } else {
        data = fetch(process.env.PUBLIC_URL + "/config.client.json")
            .then(async res => await res.json());
    }
    return Object.assign({}, await data);
})();

export default config;

App.js

 import OIDC from 'oidc-client';
 import config from './configurations';
 window["UserManager"] = new OIDC.UserManager(config.oidc);

我不知道如何在不使用 async/await 的情况下获取数据

有人有想法吗?

最佳答案

看起来config是一个Promise,这意味着你可以这样做:

config.then(({ oidc }) => {
  window.UserManager = new OIDC.UserManager(oidc);
});

关于javascript - 在这种情况下如何使用 Async/Await?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57222021/

相关文章:

node.js - 编写回调的异步/等待版本

javascript - 如果输入值满足要求则添加html属性

Javascript API 不适用于 JW Player 5.9 上的 Chrome 或 Safari

javascript - 获取 iframe 的文档对象

reactjs - 是什么让 React 库需要 preact-compat?

c# - 如何减少连续触发事件的事件处理频率

javascript - 为 JavaScript 值分配变量

javascript - PWA 推送通知支持 iOS 吗?

javascript - 渲染从异步函数中 react native 子项

python3 - 从异步方法获取结果