首页 > 解决方案 > 在更新查询期间,一些突变保持“待定”

问题描述

当我使用突变来更新我的“帖子”时,有时 api 调用被阻止并且状态在“redux devtools”上处于挂起状态。

第一次通话没问题,但如果我按下按钮太多次,数据库上的数据不会更新。

有人可以帮助我吗?

updatePost: build.mutation<void, Pick<Post, 'id'> & 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);
  }
};

在此处输入图像描述

标签: reactjsreduxnext.jssequelize.jsredux-toolkit

解决方案


推荐阅读