我看到有一个eslint规则,no-return-await禁止return await.
在规则的描述中,它表示return await添加"extra time before the overarching Promise resolves or rejects".
但是,当我查看MDN async函数文档时,"简单示例"显示了一个示例,其中return await不包含任何可能导致性能问题的描述.
是return await一个实际的性能问题,因为eslint文档建议?
如果是这样,怎么样?
当我编写异步函数时,它通常会返回一个承诺:
export const myPromiseFunction = async (params) => {
// some logic
return Promise.resolve('resolved-value');
});
Run Code Online (Sandbox Code Playgroud)
但我想知道如果这个函数不返回承诺是否会是一个错误,例如:
export const myPromiseFunction = async (params) => {
// some logic
params.map(async (param) => {
await printParam(param);
async function printParam(par) {
// do some other stuff
Printer.print(par);
});
});
});
export class Printer {
public static async print(par) {console.log(par);} // I know it could not be async, but for the sake lets suppose it does
}
Run Code Online (Sandbox Code Playgroud)
这是一个错误/不好的做法吗?或者我们能否找到一个有效且可取的方案?