• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

비동기 관련 질문입니다!

23.04.03 18:15 작성 조회수 302

0

안녕하세요! 강의 잘 듣고 있습니다.

덕분에 함수형 프로그래밍에 대해 많은 관심을

가지게 되었고, 또한 실제로 회사 프로젝트 내에서도

저는 fxjs를 적극 활용하여 사용하고 있습니다.

강의를 여러번 돌려 보고는 있지만 DB를 오가며

사용하는 비동기 상황에는 미흡하고 궁금해 질문

드립니다.

아래는 Node.js 서비스 함수 안에서 사용 하고 있으며

DB(mysql)에 접근해 update하는 로직입니다.

fn: async() => {
  _.go(
      배열,
      _.map(로직),
      _.each(async(num) => await MemberBookmark.update({ where: { target_id: num } })),
    );
} 

map으로 가공된 배열을 활용하여 each에서 DB를

업데이트 하는 로직으로 위와 같이 작성 하였는데

문제는 없을지 모르겠습니다. 일단 작동은 제대로 하는데

each함수 내에서 async(num) => await Model 업데이트

이런 식으로 비동기적인 작업을 해도 괜찮을지 궁금합니다!

답변 1

답변을 작성해보세요.

1

() => 
  _.go(
    배열,
    _.map(로직),
    _.each((num) => MemberBookmark.update({ where: { target_id: num } })),
  );


우선 이렇게만 해도 되는 상황으로 보여지구요 :)

async await 를 한다면 이게 좀 더 낫지 않을까 싶어요.

async () => { await .go( 배열, .map(로직), .each((num) => MemberBookmark.update({ where: { targetid: num } })), ); }

ajrfyd님의 프로필

ajrfyd

질문자

2023.04.09

아 이해 했습니다 감사합니닷 !!!

그리고 질문 드릴게 있는데 Array.prototype.forEach 매서드는 비동기 처리를

기다려 주지 않는다???? 비동기에 제약이 있다고 알고있는데 fxjs의 each함수는 내부적으로

비동기에 대한 지원을 하고 있을까요???? 궁금합니다!

네 맞습니다 :)