我在一个简单的路线中使用PSI npm包。 https://github.com/addyosmani/psi 使用库中的psi方法。但是,脚本不会等待预期的结果。它在控制台中运行正常。但是,我需要将响应返回给浏览器并在那里显示它。我怎样才能做到这一点? 注意:psi方法是一个Promise。
app.get('/psi', function(req, res){
res.type('text/html');
return psi('example.com',{ key: '*Iz*Sy*****PiZ***wz7****sy*****', strategy: 'desktop'}).then( data => {
console.log('Speed score: ' + data.ruleGroup.SPEED.score);
console.log('done');
res.json({ 'results' : data.ruleGroup.SPEED.score });
});
});
答案 0 :(得分:0)
我可能错了,但你不应该删除return
声明吗?如果psi
返回一个承诺并且您返回psi
,我认为应该在.then()
函数之后添加app.get
语句,因为它已经返回,但是您无法访问res
{1}}。那么,只需删除return
?