我有一个React应用程序,其中有一个创建客户端的页面,从那里我将数据发送到Redux-Toolkit的createAsynkThank
,它将处理请求并将其发送到服务器,并将其保存在DB中(如果请求成功,它将保存在商店中)。
我希望在保存由于某种原因失败的情况下,例如:这样的客户端已经存在,或者无效的电子邮件,发送回React错误并在屏幕上显示。有可能吗?
export const newClient = createAsyncThunk('clients/newClient',
async ({ name, email, tel }, { getState, dispatch, rejectWithValue }) => {
if (name && email && tel) {
$.post(`${URL}/clients/newClient`, { name, email, tel })
.then( res => {
dispatch(slice.actions.NewClient({ name, email, tel, _id: res.data.data._id }))
// return value success
})
.catch( err => {
// return value err
})
} else {
// return value
}
}
)
const setNewClient = () => {
dispatch(newClient({ name, email, tel }))
.then(res => console.log(res))
.catch(err => console.log(err))
}
1条答案
按热度按时间xytpbqjk1#
是的,您可以返回
rejectWithValue
并返回错误。范例:
然后UI应该打开已解析的Promise。
或
有关更多详细信息,请参阅: