React-Native Как показать предупреждение после завершения асинхронной функции? - PullRequest
0 голосов
/ 20 марта 2019

У меня есть следующий код, который не работает, чтобы показать предупреждение после завершения моей асинхронной функции.

{
  new BaseService().request(
    serviceURL,
    "POST",
    headerParams,
    bodyParams,
    serverResponse => {
      this.setState({ isLoading: true });

      AuthenticationService.completeAuthentication(
        serverResponse,
        clientResponse => {
          this.setState({ isLoading: false }); // THIS WORKS AND HIDES LOADER
          alert("Authenticated Successfully!"); //THIS DOESN'T SHOW UP AN ALERT
        },
        error => {
          alert(error);
        }
      );
    }
  )
}

Есть ли отведения?

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Переместить предупреждение в обратный вызов setState

как ниже

clientResponse => {
  this.setState({ isLoading: false }, 
                () => alert("Authenticated Successfully!"));
},
0 голосов
/ 20 марта 2019

Помните, что не все функции браузера будут работать в React Native, и это относится к используемому вами API alert .

Если вам нужна подобная функция, попробуйтес компонентом React Native's Alert вместо

...