我是新来的这两个承诺和无法理解什么,我需要做的,代码以下逻辑:承诺用于获取和处理数组
我正在开发中的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