async await在react-native中不起作用

时间:2018-04-30 08:09:12

标签: javascript async-await



     first() {
        setTimeout(() => console.log('I am First CALL afer 1 second'), 1000)
      }
      second() {
          console.log("SEcond methof is called");
      }
  
      async  getMoviesFromApi() {
        try {
          let response = await this.first() ;
    
          let response2 =  this.second() ;

        } catch (error) {
          console.error(error);
        }
      }




这里第二个函数应该在函数优先后调用,第一个函数将在1秒后打印,但第二个函数直接调用,它不是先等待函数。 请帮忙

1 个答案:

答案 0 :(得分:1)

你没有回复Promise,你只是在调用一个不是等待的setTimeout

你应该这样做:

first() {
   return new Promise(function (resolve, reject) {
        setTimeout(() => {
              console.log('I amFirest CAll afer 1 second');
              resolve();
        }, 1000)
   });
}

Doc:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await