Как запустить функцию после завершения предыдущей функции в React Native - PullRequest
0 голосов
/ 15 апреля 2020

У меня проблема. Я знаю, что могу использовать обещания, чтобы решить эту проблему, но я не понимаю, как использовать их в моем случае. Я просто хочу получить id из функции в другом файле (назовем это callApi), а затем использовать это id для вызова другой функции, callApi2. Проблема в том, что callApi2 запускается до завершения apiCall.

ApiCariIdAktor = {
  cariIdAktor: () => {
    const apikey = APP_CONSTANT.api_key;
    const url = `https://api.themoviedb.org/3/search/person?api_key=${apikey}&language=en-US&query=iko%20uwais&page=1&include_adult=false`;
    let id = 0;
    fetch(url)
      .then((response) => response.json())
      .then((responseJson) => {
        responseJson.results[0].id
      })
      .catch((error) => {
        console.log(error)
      })
    return 10;
  }
}

setID() {
  this.state.id = ApiCariIdAktor.cariIdAktor();
}

async componentDidMount() {
  this.setID();
  await new Promise(resolve => {
    setTimeout(resolve, 1000);
  });
  this.panggilApi2();
}
...