处理 Promise 执行器函数 ESLint 错误
Dealing with Promise executor functions ESLint error
以下代码块抛出两个警告
- ESLint:Promise 执行器函数不应该是异步的。
(no-async-promise-executor)
- ESLint:在函数参数中承诺 returned,其中预期为 void return。
(@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);
}
});
}
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,还能抛出错误
以下代码块抛出两个警告
- ESLint:Promise 执行器函数不应该是异步的。
(no-async-promise-executor)
- ESLint:在函数参数中承诺 returned,其中预期为 void return。
(@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);
}
});
}
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,还能抛出错误