2014-05-21 2 views
0

이 종류의 목적을 달성 한 것으로 알고 있지만 옵션이 표시되지 않습니다.NodeJS, BlueBird - 반환하기 전에 약속을 기다리십시오.

셋업이있다 :

  • 메시지 처리기 RabbitMQ 큐를 작성하는 메시지를받을 것이다 (기능)
  • 큐 생성 약속
  • 에게 수신 큐를 생성한다 핸들러 그런 다음 처리기가 대기열 생성 완료를 나타내는 응답 메시지를 반환합니다.
  • 이 응답 메시지는 다른 대기열을 통해 게시됩니다.
  • 응답 수신자 새롭게 생성 된 대기열에 게시가 시작됩니다.

여기에 문제가 있습니다.

대기열의 생성이 완료되기를 기다리지 않고 시작하여 대기열 생성이 완료되기 전에 게시자가 게시를 시작합니다.

그런 다음 게시 시작을 트리거하기 위해 큐 생성 약속 이행을 ​​사용하여 시도했습니다. 여기에서 문제는 게시자가 사용할 수 있도록 대기열을 통해 약속 (및 그 해결책)을 전송할 수 없다는 것입니다.

약속과 대기열 사이에 끼어 있습니다. 큐 생성이 완료 될 때까지 기다릴 수 있다면 괜찮을 것입니다.

이것이 가능합니까?

+0

당신은 당신이 무엇을하고 있는지 이해하는 것이 매우 도움이 될 것입니다 가지고있는 일부 코드입니다. –

+0

예 - 저는 바보입니다. 나는 피곤했다. 코드를 게시하기에는 너무 지쳤고 똑바로 생각하기에는 너무 지쳤다. 응답은 가입자 약속이 성립 될 때까지 응답을 보냈을 때 약속을 연기하고 보류했다. 내가 말한대로 - 나는 바보 야. – Michael

+0

내가 생각한 것은, 당신이해야 할 일이지만, 이것이 해결책 이었는지 확신 할 수 없었다. 문제를 풀 수 없을 때 잠을 자야합니다. 당신이 자고있을 때 당신의 마음 일을 신뢰하고 당신이 일어 났을 때 당신은 그 문제에 대해 더 깊이 생각할 수있을 것입니다! –

답변

0

예 - 저는 바보입니다. 나는 피곤했다. 코드를 게시하기에는 너무 지쳤고 똑바로 생각하기에는 너무 지쳤다.

응답은 가입자 약속이 이행 될 때까지 응답 보내기에 대한 약속 및 보류를 반환합니다. 직선적 인 약속은 "물건"을 약속합니다.

것은 내가 말했듯이 - 내가 바보 야 ..

관련 문제