未处理的拒绝(ReferenceError):未定义createPromise

时间:2020-02-09 09:06:59

标签: javascript reactjs

我正在尝试从obj创建新函数,我已将其转换为字符串,但出现此错误

未处理的拒绝(ReferenceError):未定义createPromise

fa-icon

screenshot from error

2 个答案:

答案 0 :(得分:1)

您的问题似乎是因为您在await上使用refreshToken,但没有返回Promise。错误消息抱怨createPromise没有定义,但是我们看不到任何试图调用该函数的代码,因此我猜测kc.updateToken()函数正在使用它。

使用async/await时,您需要使用Promises插队。

如果kcKeyCloak对象,则updateToken返回一个Promise,您可以简单地返回它而无需使用.success().error()像这样:

const refreshToken = () => {
  const kc = transToObj(localStorage.getItem('kc'));
  return kc.updateToken(30)  // return the promise and let others await on it
    .catch(e => {
      window.location.reload(true);
    });
};

答案 1 :(得分:0)

这是我的解决方法

我使用了npm软件包调用@ react-keycloak / web,该库可帮助提供程序的实例具有keycloak实例,因此我可以在所有应用程序中使用所有我需要的功能,而无需转换功能并失去适配器