때때로 때문에 당신이에 연결하는 서버에 굉장히 시간이 오래 걸릴 수 connect()
방법을 제공하는 라이브러리가 있다는 말 사용 후 연결이 닫힙니다.제한 시간은 음식물 쓰레기 처리기와
이제는 connect()
이 필요하지만 연결할 수없는 경우 5 초 내에 시간 초과됩니다.
connect()
가
Disposer
을 반환 이후
Promise.using(connect().timeout(5000), function(conn) {
console.log('Hello world')
})
은 어느 분명히 작동하지 않습니다.
오, 난 그냥 블록을 사용하여 시간 제한을 넣어, 당신은 순진하게 생각할 수도 있습니다. 연결이 설정되면 우리는 블록에 들어갈 수 없으므로 작동하지 않습니다.
그래서 결국 당신은 시도 :
Promise.using(connect(), function(conn) {
console.log('Hello world')
})
.timeout(5000)
이, 물론 작동합니다. 그러나 우리는 운이 좋지 않아 간단한 console.log
작업을 수행 할 수 없습니다. 대신, 더 좋아 보이는 다음 무섭게 긴 작업이 자연스럽게마다 트리거 타임 아웃이 발생 굉장히 오랜 시간이 걸리므로
Promise.using(connect(), function(conn) {
// Do an awfully long task that takes 2 minutes
})
.timeout(5000)
지금 시간 제한을 다시 사용할 수 없게됩니다
.시간을 포함하도록 connect()
을 변경하지 않아도되는 일부 관용적 인 방법으로 실제로 이것을 기록하는 방법이 있습니까?
connect 함수의 인수로 timeout을 전달하십시오. –
언급했듯이, 나는'connect()'를 제어 할 수없는 경우에이를 해결하는 데 관심이 있습니다. –