Аргумент типа X не может быть назначен параметру типа Y - PullRequest
0 голосов
/ 21 февраля 2020
async acquireToken(request: AuthenticationParameters, redirect: any) {
  return msalApp.acquireTokenSilent(request).catch(error => {
    if (requiresInteraction(error.errorCode)) {
      return redirect
    } else {
      console.error('Non-interactive error:', error.errorCode)
    }
  });
}

Ошибка:

Argument of type '(error: any) => void | Promise<AuthResponse>' is not assignable to parameter of type '(reason: any) => AuthResponse | PromiseLike<AuthResponse>'.

Как сделать тип, присваиваемый типу параметра, который он хочет?

1 Ответ

0 голосов
/ 22 февраля 2020

Ваша функция должна возвращать AuthResponse или Promise, равный единице. Ваш обработчик ошибок имеет путь, который ничего не возвращает. Вы должны вернуть что-то по этому пути, например:

async acquireToken(request: AuthenticationParameters, redirect: any) {
  return msalApp.acquireTokenSilent(request).catch(error => {
    if (requiresInteraction(error.errorCode)) {
      return redirect
    } else {
      console.error('Non-interactive error:', error.errorCode)
      return error
    }
  });
}
...