使用nightmareJS,如果超过waitTimeout限制,有没有办法调用函数?现在它正在给我一个承诺拒绝警告
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: .wait() timed out after 10000msec
我想知道如果收到此错误,是否有任何方法可以调用函数。我的代码结构如下:
var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: true, waitTimeout: 10000});
nightmare.goto(my_url);
nightmare.wait(my_element);
nightmare.evaluate(function() {...});
nightmare.then(function(result) {...code that could give a promise warning...});
我可以在goto和then语句中添加一个catch子句(如Belfordz推荐的那样),这样可以工作,但是then语句中有其他嵌套的then语句。我更喜欢单个语句,可以捕获任何承诺警告或引发的超时错误。
答案 0 :(得分:0)
错误表示在10秒的延迟内未在当前页面上找到General
。
但是,按照编码方式,您同步调用方法my_element
,goto
,wait
,evaluate
,而内部调用它们承诺机制,即通过“链接”调用,否则很快就会执行:
then