Есть сага
function* updateProductSaga({ payload }: any): any {
try {
const formData = new FormData();
Object.entries(payload).forEach(([key, value]: any) => {
formData.append(key, value);
});
const response: AxiosResponse<IProduct> = yield ApiService.put(
`/admin/product/${payload?.id}`,
{
data: formData,
headers: {
"Content-Type": "multipart/form-data",
},
},
);
yield put(actions.updateProductSuccess(response.data));
} catch (error: any) {
yield put(
actions.updateProductError(
error?.response?.data?.message || error.message,
),
);
}
}
Есть код функции которая вызывается при клике
const submitHandler = async (data: FormData) => {
if (product?.id) {
await dispatch(actions.updateProduct(data, onClose));
} else {
await dispatch(actions.createProduct(data));
}
onClose();
};
Мне нужно чтобы onClose вызвался после того как в sage выполнится updateProductSuccess или updateProductError
Или в данном случае подойдет только createAsyncThunk?