(electron.js ) send vs invoke 비교

박지윤·2025년 12월 8일

invoke

DB에서 유저 정보를 가져와야 할 때
파일 내용을 읽어서 화면에 보여줘야 할 때
설정값을 저장하고 "성공/실패" 여부를 알아야 할 때
개발하시는 메신저 앱에서 "이전 대화 내역 불러오기" 같은 기능 구현 시

send

메인 프로세스에게 "창 닫아", "최소화해" 같은 명령만 내릴 때
결과값이 전혀 필요 없을 때 (단순 로그 전송 등)
메인 프로세스에서 렌더러로 지속적인 데이터를 스트리밍해야 할 때는 send + on 조합이 더 나을 수 있습니다 (예: 다운로드 진행률 표시).

Electron에서 ipcRenderer.sendipcRenderer.invoke는 렌더러 프로세스(화면)와 메인 프로세스(백그라운드) 간의 통신을 담당하지만, 값을 주고받는 방식(패턴)에 결정적인 차이가 있습니다.
"결과값이 필요한가?"

ipcRenderer.send: 일방적인 통보 (Fire-and-forget). 답장을 받으려면 별도의 리스너(on)를 또 만들어야 해서 코드가 복잡해집니다.

ipcRenderer.invoke: 요청과 응답 (Request-Response). Promise를 반환하므로 async/await를 사용하여 직관적으로 결과값을 받아올 수 있습니다.

0개의 댓글