使用来自另一个类的异步函数



我看了一个教程,其中一个类First有一个async方法

另一个类Second在自己的方法中使用了First类异步方法它没有异步元素,但用async关键字

标记。First类实例通过依赖注入共享

我不明白为什么async关键字被用于第二个方法

我已经重建了一个简单的例子与父类和子类子类从父类返回async方法

在子类方法中使用asyc关键字不会改变结果
在这种情况下使用async关键字是否有更深的含义?

class OldPromise {
promise1 = new Promise((resolve, reject) => {
setTimeout(() => resolve(`print this later`), 4000)
});

async returnPromise() {
let result1 = await this.promise1;
console.log(result1)
return result1
}
}

class NewPromise extends OldPromise {
returnOldPromise() {
return this.returnPromise()
}
}

const newPromiseClass = new NewPromise();
newPromiseClass.returnOldPromise()
//> print this later

async关键字不需要在子类中使用,因为您不需要在其中await任何内容。根据经验,不要在没有await的情况下使用async。在您的示例中,returnOldPromise()返回Promise,无论它是否具有async关键字。

最新更新