나는 항상 ok를 반환하는 비동기 요청 (push
)을 수행하는 라이브러리를 사용하고 있습니다. ok 또는 오류 여부에 관계없이 실제 응답으로 콜백을 호출합니다.익명 함수가 호출 될 때까지 어떻게 차단합니까?
callback = fn(response) ->
# handle error or ok
end
:ok = Pigeon.APNS.push(n, callback)
# push returns immediately, but I want to block
# until callback is called and return that response
이 경우 콜백을 차단하고 동기 요청으로 바꾸기를 기다리고 싶습니다. Task.await
과 같은 OTP 기능이 있습니까? 아니면이를 동기식 요청으로 바꾸는 다른 해결책이 있습니까?
receive
을 사용할 수 있습니다
저는 콜백에서 메시지를 보내고 Elixir Slack의 micmus가 제안한대로 차단하려고합니다. – nathany