ESlint抱怨异步功能返回

时间:2019-02-01 16:37:56

标签: javascript promise eslint aws-amplify

我具有在Amplify中刷新认知会话令牌的功能

export async function refreshToken() {
  try {
    const init = await Auth.currentSession();
    const cognitoUser = await Auth.currentUserPoolUser();
    await new Promise((resolve, reject) => {
      cognitoUser.refreshSession(init.refreshToken, (err, session) => {
        if (err) {
          reject(err);
        }
        resolve(session);
      });
    });
  } catch (e) {
    throw new Error('FAILED_TO_REFRESH_TOKEN');
  }
}

但是eslint抱怨Expected to return a value at the end of async function 'refreshToken' consistent-return

1 个答案:

答案 0 :(得分:-1)

您的refreshToken函数在成功后不会返回任何内容。

使用您的当前ESLint配置,这似乎是必需的。

例如,您可以在等待Promise之前添加一个returǹ

export async function refreshToken() {
  try {
    const init = await Auth.currentSession();
    const cognitoUser = await Auth.currentUserPoolUser();
    return await new Promise((resolve, reject) => {
      cognitoUser.refreshSession(init.refreshToken, (err, session) => {
        if (err) {
          reject(err);
        }
        resolve(session);
      });
    });
  } catch (e) {
    throw new Error('FAILED_TO_REFRESH_TOKEN');
  }
}