今天在玩梦魇时,我遇到了一个问题,我可以使用goto
来渲染页面,将其保存为PDF并使用.end()
关闭。然后我使用res.download
发送它。这适用于第一次运行,但在后续请求中,服务器永远不会返回任何内容,最终请求超时。
如果我保存index.js
文件并让我的观察者重新启动应用程序,路由将回复请求,但随后会再次挂起。
希望我在这里遗漏一些简单的东西。以下是路线的代码:
import Nightmare from 'nightmare';
const nightmare = new Nightmare({ show: true });
export default async (req, res) => {
await nightmare
.goto('http://duckduckgo.com')
.wait(1000)
.insert('#search_form_input_homepage', 'nightmare hangs')
.click('[type=submit]')
.wait(2000)
.pdf('./tmp/results.pdf')
.end()
.catch((error) => {
console.error('Search failed:', error); // eslint-disable-line
});
res.download('./tmp/results.pdf');
};
梦魇2.10.0,El Capitan,节点6.9。