在这种情况下如何使用异步/等待?

时间:2019-07-26 14:22:47

标签: javascript reactjs async-await fetch oidc

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

configurations / 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);

我不知道如何在不使用异步/等待的情况下获取数据

有人有主意吗?

1 个答案:

答案 0 :(得分:2)

看起来configPromise,这意味着您可以执行以下操作:

config.then(({ oidc }) => {
  window.UserManager = new OIDC.UserManager(oidc);
});
相关问题