2017-12-15 9 views
2

모든 이벤트에 대해 http 호출을 만들어 다른 시스템에 이벤트를 라우팅하는 Firebase 클라우드 기능을 만듭니다. 약속을 되 돌리지 않으면 http가 대부분의 시간에 호출됩니다 (100 % 확신 할 수 없음). 응답에 신경 쓰지 않습니다.Firebase 클라우드 기능에서 약속을 반환하지 않는 VS 반환

반환하지 않으면 실행 시간이 크게 줄어 듭니다. (155ms 대 13ms)

반환되지 않은 약속이 보장되는 경우 누구에게 알 수 있습니까?

+0

그냥 시도해 볼 수 없습니까? –

답변

3

함수가 Promise를 반환하지 않으면 클라우드 함수에 의해 너무 일찍 종료 될 수 있습니다. 또한 콘솔에 다음과 같은 내용이 표시 될 수 있습니다. Function execution took 60023 ms, finished with status: 'timeout' 이 기능은 Promise to Cloud 기능을 반환하지 않을 때 발생합니다.

1

HTTPS 유형 기능을 제외한 모든 유형의 기능에는 비동기 작업이 완료 될 때 해결되는 return a promise이 필요합니다. 이렇게하지 않으면 클라우드 기능 런타임이 작업이 완료되기 전에 기능을 정리할 수 있기 때문에 작업 완료를 보장 할 수 없습니다.

작업의 응답이나 결과에 관심이 있더라도 상관 없지만 작업이 끝나기 전에는 작업이 완료 될 때까지 기다려야합니다.