gpt4 book ai didi

javascript - 围绕箭头主体 Promise 的意外 block 语句

转载 作者:行者123 更新时间:2023-12-01 04:09:34 29 4
gpt4 key购买 nike

我使用 React、ES6 并收到以下错误消息。我尝试了 here 中不同的东西但它不适合我。如果我删除“return”,我会收到此错误:

error Do not use 'new' for side effects no-new

如果我这样编码

const asyncValidate = (values, dispatch) => {
const promise = new Promise(resolve, reject)
promise()...

我无法访问构造函数的解析和拒绝。

<小时/>

简短

如何让这段代码工作?

const asyncValidate = (values, dispatch) => {
return new Promise((resolve, reject) => {
validation.availableUserEmail(values.email, dispatch)
.catch(err => reject(err));
});
};

error Unexpected block statement surrounding arrow body arrow-body-style

最佳答案

如果您只有一个表达式,并且您希望返回该表达式,则可以缩短箭头函数,例如,如果您希望函数返回您传入的数字 + 1,则可以使用此函数是一个缩短版本:x => x + 1

new Promise(............) 是一个单一的表达式,你想返回它,所以你可以 (并且应该,这就是为什么 ESLint 是提示)像这样缩短它:

(values, dispatch) =>
new Promise(...........)

此外,由于 validation.availableUserEmail() 返回 Promise 本身,因此您可以完全删除 Promise 构造函数(用 Promise 构造函数包装 Promise 是一种反模式),所以你可以简单地做:

(values, dispatch) =>
validation.availableUserEmail(.......)
.catch(.........)

关于javascript - 围绕箭头主体 Promise 的意外 block 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41602976/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com