我在写一个后台,封装了两个方法去查询数据库,它们的返回都是Promise,调用它们都有正确的结果。functionlist(req,res,next){letstart=req.query.start;letcount=req.query.count;exchangeDb.queryList(start,count).then(results=>{res.json(results)}).catch(err=>{throwerr;});}functionload(req,res,next,name){letlimit=req.query.limit;exchangeDb.queryVolume(name,limit).then(results=>{req.results=util.convert(results);returnnext();}).catch(err=>{throwerr;});}第一个返回的是列表,第二个是返回详情。我想把它们合为一个方法,尝试这样做:functionlist(req,res,next){letstart=req.query.start;letcount=req.query.count;exchangeDb.queryList(start,count).then(results=>{results.forEach((index,element)=>{exchangeDb.queryVolume(element.name,50).then(volume=>{element.volume=volume;results[index]=element;})});res.json(results)}).catch(err=>{throwerr;});}显然,它不能工作,我被这个问题深深的困扰了,如果是链式的Promise,then().then()看上去也不能解决这个问题,请大家帮忙看一下,谢谢。
婷婷同学_
相关分类