RTK async thunk takes only pending state on dispatch

22 Views Asked by At

When dispatching an action only there are no fulfilled or rejected state for promise.

Thunk code:

export const removeAccount = createAsyncThunk('user/logout', async (user) => {
    try {
        if (user.provider === 'email') {
            return await axios.delete('http://localhost:3001/user/remove', {
                data: user,
            });
        } else {
            return await axios.delete('http://localhost:3001/user/remove', {
                data: user,
                withCredentials: true,
            });
        }
    } catch (e) {
        const { response } = e;
        if (response.status === 401 && response.data)
            throw new Error(response.data.message);
    }
});

Server side code:

router.delete('/remove', async (req, res) => {
    try {
        const currentUser = req.body;

        await User.findByIdAndDelete(currentUser._id);

        if (!req.user) return res.status(200);

        req.logout((err) => {
                if (err) {
                    return res.status(500);
                }

                return res.status(200);
        });

    } catch (e) {
        console.error(e);
        return res.status(500);
    }
});

I already tried a different return values and code pieces but situation doesn't changed a lot

0

There are 0 best solutions below