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秒后打印,但第二个函数直接调用,它不是先等待函数。 请帮忙
答案 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