我有一个关于async/await在一个用Typescript编写的node.js项目中的用法的问题。
我们有一个函数链,所有的函数都带有async和await。 我的问题是:
我们能避免这些异步/等待吗?
const processed = await this.processMessage(content);
async processMessage(message): Promise<Boolean> {
processed = await this.process(message.data);
return processed;
}
async process(data): Promise<Boolean> {
// some async action with an await that returns a boolean, i.e. delete in database
}
并做
const processed = this.processMessage(content);
processMessage(message): Boolean {
processed = this.process(message.data);
return processed;
}
process(data): Boolean {
// some async action i.e. delete in database
}
所有这些异步等待在整个代码中都是必需的吗? 或者在像这样等待每一个异步步骤的情况下,我们可以使用第二个选项吗?
如果processmessage
所做的只是从message
中提取data
属性,那么您可以只转发由process
生成的承诺,而不必等待中间结果。
processMessage(message): Promise<Boolean> {
return this.process(message.data);
}