#reactjs #redux #next.js #sequelize.js #redux-toolkit
Вопрос:
Когда я использую мутацию для обновления своего «поста», иногда вызов api блокируется, и статус ожидает «redux devtools».
Первый вызов в порядке, но если я нажму кнопку слишком много раз, данные в базе данных не будут обновлены.
Кто — нибудь может мне помочь ?
updatePost: build.mutation<void, Pick<Post, 'id'> amp; Partial<Post>>({
query: ({ id, ...patch }) => ({
url: `posts/${id}`,
method: 'PATCH',
body: patch, }),
async onCacheEntryAdded(
arg,
{
dispatch,
getState,
extra,
requestId,
cacheEntryRemoved,
cacheDataLoaded,
getCacheEntry,
}
) {
console.log(arg)
console.log("Mutation = ")
console.log(getState().api.mutations)
},
invalidatesTags: [{ type: 'Post', id: 'LIST' }],
Бэк-офис :
exports.updatelike = (req) => {
try {
console.log("UPDATELIKE");
const d = new Date(Date.now());
console.log(d.getHours() ":" d.getMinutes() ":" d.getSeconds());
console.log(req.params.id);
var values = {
likes: req.body.likes,
userslike: req.body.userslike,
dislikes: req.body.dislikes,
usersdislike: req.body.usersdislike,
};
var selector = { where: { id: req.params.id } };
Post.update(values, selector)
.then(
function (success) {
console.log("SUCCESS");
console.log(success);
},
function (err) {
console.log("ERROR");
console.log(err);
}
)
.finally(function () {
console.log("FINALLY");
})
.catch((err) => {
console.log(">> Error while Update one post : ", err);
});
} catch (ex) {
console.log(ex);
}
};
Комментарии:
1. Похоже, что эти сетевые запросы просто каким-то образом зависают. Разрешаются ли они на вашей вкладке «Сеть»?
2. я думаю, что я забыл отправить результат после обновления. res.отправить в порядке.