为什么NightmareJS看似挂在Express路线上?

时间:2017-03-05 05:53:40

标签: node.js express nightmare

今天在玩梦魇时,我遇到了一个问题,我可以使用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。

0 个答案:

没有答案