• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

팔로워 목록 삭제 기능 구현 중 질문드립니다.

20.03.13 14:14 작성 조회수 235

0

1. 팔로워 삭제를 클릭하면,  saga에서 removeFollowerAPI 함수에 진입하는걸 콘솔로 확인했습니다.

2. 네트워크에서 확인하면 pending이었다가, failed가 됩니다.

3. 서버 라우터에는 아예 진입을 하지 않습니다.

서버쪽 콘솔

Executing (default): SELECT `User`.`id`, `User`.`nickname`, `User`.`userId`, `User`.`password`, `User`.`createdAt`, `User`.`updatedAt`, `Posts`.`id` AS `Posts.id`, `Followings`.`id` AS `Followings.id`, `Followings->Follow`.`createdAt` AS `Followings.Follow.createdAt`, `Followings->Follow`.`updatedAt` AS `Followings.Follow.updatedAt`, `Followings->Follow`.`followingId` AS `Followings.Follow.followingId`, `Followings->Follow`.`followerId` AS `Followings.Follow.followerId`, `Followers`.`id` AS `Followers.id`, `Followers->Follow`.`createdAt` AS `Followers.Follow.createdAt`, `Followers->Follow`.`updatedAt` AS `Followers.Follow.updatedAt`, `Followers->Follow`.`followingId` AS `Followers.Follow.followingId`, `Followers->Follow`.`followerId` AS `Followers.Follow.followerId` FROM `Users` AS `User` LEFT OUTER JOIN `Posts` AS `Posts` ON `User`.`id` = `Posts`.`UserId` LEFT OUTER JOIN ( `Follow` AS `Followings->Follow` INNER JOIN `Users` AS `Followings` ON `Followings`.`id` = `Followings->Follow`.`followingId`) ON `User`.`id` = `Followings->Follow`.`followerId` LEFT OUTER JOIN ( `Follow` AS `Followers->Follow` INNER JOIN `Users` AS `Followers` ON `Followers`.`id` = `Followers->Follow`.`followerId`) ON `User`.`id` = `Followers->Follow`.`followingId` WHERE `User`.`id` = 2;

Executing (default): SELECT `User`.`id`, `User`.`nickname`, `User`.`userId`, `User`.`password`, `User`.`createdAt`, `User`.`updatedAt`, `Posts`.`id` AS `Posts.id`, `Followings`.`id` AS `Followings.id`, `Followings->Follow`.`createdAt` AS `Followings.Follow.createdAt`, `Followings->Follow`.`updatedAt` AS `Followings.Follow.updatedAt`, `Followings->Follow`.`followingId` AS `Followings.Follow.followingId`, `Followings->Follow`.`followerId` AS `Followings.Follow.followerId`, `Followers`.`id` AS `Followers.id`, `Followers->Follow`.`createdAt` AS `Followers.Follow.createdAt`, `Followers->Follow`.`updatedAt` AS `Followers.Follow.updatedAt`, `Followers->Follow`.`followingId` AS `Followers.Follow.followingId`, `Followers->Follow`.`followerId` AS `Followers.Follow.followerId` FROM `Users` AS `User` LEFT OUTER JOIN `Posts` AS `Posts` ON `User`.`id` = `Posts`.`UserId` LEFT OUTER JOIN ( `Follow` AS `Followings->Follow` INNER JOIN `Users` AS `Followings` ON `Followings`.`id` = `Followings->Follow`.`followingId`) ON `User`.`id` = `Followings->Follow`.`followerId` LEFT OUTER JOIN ( `Follow` AS `Followers->Follow` INNER JOIN `Users` AS `Followers` ON `Followers`.`id` = `Followers->Follow`.`followerId`) ON `User`.`id` = `Followers->Follow`.`followingId` WHERE `User`.`id` = 2;

DELETE /api/user/1/follower - - ms - -

DELETE /api/user/1/follower - - ms - -

4. 어떻게 해결 해야 될까요?.. 

function removeFollowerAPI(userId) {
  console.log("saga removeFollowerAPI 요청 함수, userId > ", userId);
  return axios.delete(`/user/${userId}/follower`, {
    withCredentials: true
  });
}

function* removeFollower(action) {
  try {
    const result = yield call(removeFollowerAPI, action.data);
    yield put({
      type: REMOVE_FOLLOWER_SUCCESS,
      data: result.data
    });
  } catch (e) {
    console.error(e);
    yield put({
      type: REMOVE_FOLLOWER_FAILURE,
      error: e
    });
  }
}




router.delete("/:id/follower", isLoggedIn, async (req, res, next) => {
  console.log("@@@@@@@@@@@@@@@@@@@@ /:id/follower delete");
  try {
    const me = await db.User.findOne({
      where: { id: req.user.id }
    });
    await me.removeFollower(req.params.id);
    res.send(req.params.id);
  } catch (e) {
    console.error(e);
    next(e);
  }
});





답변 3

·

답변을 작성해보세요.

0

이 코드 말고 다른 코드에 에러가 있는 것 같습니다. 깃헙에서 코드 어떤 점이 다른지 검색해보세요.

0

꿈나무님의 프로필

꿈나무

질문자

2020.03.13

브라우저 에러 해결했는데도 불구하고, 같은 증상이 반복됩니다. 다음에 어떤걸 확인해봐야 할까요?

0

콘솔에 DELETE /api/user/1/follower 이게 뜬 거면 라우터에 진입한 겁니다.

근데 라우터가 실행되기 전에 브라우저쪽에서 에러가 나는 것 같은데, key가 NaN인 에러 먼저 해결해보시겠어요?