我是新來的這兩個承諾和無法理解什麼,我需要做的,代碼以下邏輯:承諾用於獲取和處理數組
我正在開發中的Node.js和Express中的Web服務來獲取歌曲來自wiki的數據並返回客戶端應用程序將使用的對象。維基的API不允許我編寫批量查詢;我必須單獨獲取每個頁面。所以我必須得到歌曲列表,然後爲每首歌曲執行一次呼叫。
我目前打算使用Node.js的Q中間件作爲我的承諾庫,儘管我願意爲更適合此任務的中間件提供建議。
這裏是我的僞代碼:
app.get('/songs/:criteria', function(request,response) {
downloadSongList()
.then(foreach(song) downloadSongData)
.then(assembleReturnValue)
.then(response.json(returnValue));
});
將實際的代碼是什麼樣的?
哪裏一.catch()適合在這裏捕獲錯誤? – 2014-09-25 20:56:19
取決於你想要捕捉什麼樣的錯誤,以及是否打算從它恢復,但通常最終抓住所有錯誤。 – Bergi 2014-09-26 10:02:38
我接受這個答案還爲時過早,因爲它無法正常工作。服務器不是在響應中返回JSON,而是坐在最後一步直到超時。我嘗試在鏈的末尾添加.done()。這是行不通的。 – 2014-09-26 11:15:18