处理 Promise 执行器函数 ESLint 错误
Posted
技术标签:
【中文标题】处理 Promise 执行器函数 ESLint 错误【英文标题】:Dealing with Promise executor functions ESLint error 【发布时间】:2021-10-09 21:25:51 【问题描述】:以下代码块引发两个警告
-
ESLint:Promise 执行器函数不应该是异步的。
(no-async-promise-executor)
ESLint:在预期返回 void 的函数参数中返回 Promise。 (@typescript-eslint/no-misused-promises)
重写它以消除错误消息的最佳方法是什么?
async signIn(email: string, password: string, redirectTo: string): Promise<unknown>
return new Promise(async (resolve, reject) =>
const error, data = await this.supabaseClient.auth.signIn(
email: email, password: password ,
redirectTo: redirectTo
);
if (error)
reject(error);
else
resolve(data);
);
【问题讨论】:
【参考方案1】:async signIn(email: string, password: string, redirectTo: string)
const error, data = await this.supabaseClient.auth.signIn(
email: email, password: password ,
redirectTo: redirectTo
);
if (error)
throw new Error(error);
return data
);
完全不需要使用promise,可以抛出错误。
【讨论】:
以上是关于处理 Promise 执行器函数 ESLint 错误的主要内容,如果未能解决你的问题,请参考以下文章
ESLint 可以帮助你防止 Unhandled-Promise-Rejections 吗?