나는

2014-03-01 8 views
2
내가 연결 풀링에 페이지를 사용하여 모바일 백엔드에서하고 있어요

은, 지금은 문제를 충족) (다 사용해야하는 경우나는

오류 텍스트

나는이 문제에서 알고있는 것처럼 Error: connection pointer is NULL

, https://github.com/brianc/node-postgres/issues/182.

내 질문에 어떻게 done() pg에서 작동하고 어디서 불러야합니까?

예를 들어 여러 쿼리는이 예제에 나에게 done()을 설명해주십시오 하나

pg.connect("constr", function(err,client,done) { 
    if (err) callback(err); 
    else { 
    client.query("some query", function(err, result) { 
     if (err) callback(err); 
     else { 
      client.query("one more", function(err, result) { 
      if (err) callback(err); 
      else { 
       callback(null, result); 
      } 
      }); 
     } 
    }); 
    } 
}); 

에 의해 하나를 호출 할 필요가 나는 경우.

+0

? 나는 당신이 안전하게 콜백의 대체를 완료 할 수 있다고 생각한다;) –

+0

@MukeshSoni 최상위 레벨을 참조하고, 콜백한다. HTTP 요청을 처리하는 컨트롤러/콜백 메소드 –

답변

1
당신이 client으로 완료 한 후 완료를 호출합니다

- 코드에서`callback`가 무엇인지

client.query("some query", function(err, result) { 
     if (err) { 
      done(); 
      callback(err); 
     } else { 
      client.query("one more", function(err, result) { 
      done(); 
      if (err) callback(err); 
      else { 
       callback(null, result); 
      } 
      }); 
     } 
    }); 
+0

그러나 내 '일부 쿼리'에 오류가 있으면 어떻게 될까? 내 연결이 수영장으로 돌아 간다 고요? –

+0

완료는 오류와 아무런 관련이 없습니다. 클라이언트를 다시 풀에 놓습니다. 오류는 '귀하의 데이터베이스 다운', '잘못된 쿼리'등 –

+1

와 같은 여러 가지 이유로 인해 수도 있지만 두 번째 줄 어디에서 (오류) ... 다른 사람이 호출되지 않습니다, 그래서 done()하지 않습니다 내가 맞았 어? –