2012-08-08 6 views
0
)

목록에서 404를 실행하려고합니다. 다음과 같이 입력하십시오 :행 수에 따라 목록에서 404를 던지기 (

function (head, req) { 
    var row; 
    var returnArr = []; 
    while (row = getRow()) { 
     returnArr.push(row.value); 
    } 
    if(returnArr.length === 0) { 
     start({code:404}); 
     send(JSON.stringify({error:"not found"})); 
    } else { 
     send(JSON.stringify(returnArr)); 
    } 
}; 

일부 도움말 here이 있습니다. 그러나, 내가 늦게까지 start() 기능이라고 부르는 솔기가있다. start() 기능이 처음 (첫 번째 줄에)에 있으면 제대로 작동합니다.

물론 먼저 start()을 호출 할 수 없습니다. 먼저 뷰에 행이 있는지 확인해야하기 때문입니다.

어떻게 구현하나요?

은 UPDATE : 그것은 참으로() getRow 후 작동하지 않는 시작() 솔기

가 호출됩니다. 예상 된 동작인지 확실하지 않습니다. 또한 이것도 작동하지 않습니다 :

function (head, req) { 
    var row; 
    var returnArr = []; 
    while (row = getRow()) { 
     returnArr.push(row.value); 
    } 
    if(returnArr.length === 0) { 
     throw (['error', 'not_found', 'Some message like Page not found']); 
    } else { 
     send(JSON.stringify(returnArr)); 
    } 
}; 

답변

0

예, 이것은 열린 버그입니다. 불행히도 Jira는 다운되어 문제에 연결할 수 없습니다. 하지만 그것은 당신이 발견 한대로 현재 시작() 전에 getRow()를 호출 할 수 없습니다.

+0

확인 : 여기에 https://issues.apache.org/jira/browse/COUCHDB-514 대기 요청 : https://github.com/apache/couchdb/pull/18 –

관련 문제