2012-08-08 35 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:

它確實是接縫start()方法的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已經關閉,所以我無法連接到這個問題。但是,正如你發現的,你目前無法在start()之前調用getRow()。

+0

確認,這裏是:https://issues.apache.org/jira/browse/COUCHDB-514 而等待的拉請求:https://github.com/apache/couchdb/pull/18 – 2012-08-14 20:27:34

相關問題