2016-06-23 3 views
1

전자 메일에서 ipc를 통해 비동기 요청을 보내는 코드를 작성했지만, 이미 발송 한 ipc 요청을 어떻게 취소하거나 취소 할 수 있는지 알고 싶습니다.전자 메일로 보내는 ipc 비동기 요청을 중단하는 방법이 있습니까?

ipc.on('receivedSoftwareInfo', (info) => { 
    // TO-DO 
}); 

ipc.send('getSoftwareInfo'); 

나는 전자의 Repo에서 API 문서를 검색하고, 내가 바인딩 이벤트가 트리거되지 않도록 코드를 다음과 같이의 removeListener를 호출하여 중지 할 수 있습니다 정보를 가지고 있었다.

ipc.removeAllListeners(); 

는하지만 사용자가 다음 IPC 요청 두 번째 시간을 보내,이 프로그램의 옆에 리스너를 모두 제거합니다 즉시 다시 버튼 요청을 클릭하면 잠재적 인 문제가 있다고 생각.

그것은 다음과 같은 흐름과 같이 표시됩니다

Events are removed -> async request is still there -> bind events again -> trigger 
(I don't want it happen and trigger by old request) 

을 따라서 전자에 보내는 IPC 비동기 요청을 취소 할 수있는 방법이있다? 이 질문을 해결하기 위해 모든 청취자를 삭제하는 것이 낫다고 생각합니다.

답변

0

불행하게도 불가능합니다. IPC 요청은 브라우저 (여기서는 Electron)에서 관리하며 JavaScript로 관리 할 수 ​​없습니다.

관련 문제