我正在努力了解噩梦和声音是如何互动的。请在下面找到噩梦页面的(几乎)原始示例。
任何人都可以给我一个提示,告诉我如何找出发生的事情的顺序,即
不幸的是,梦魇文档没有说明它的设计是如何工作的(与promises和生成器的交互)。
如果有人能够想到一个例子如何手动解析run()promise并触发所有.next(),这些都是使生成器函数按预期工作所必需的,这已经是一个很大的帮助。
var Nightmare = require('nightmare');
var vo = require('vo');
vo( run() )(function(err, result) {
if (err) throw err;
console.log("end result length: ", result.length);
});
function *run() {
var x = Date.now();
var nightmare = Nightmare();
var html = yield nightmare
.goto('http://google.com')
.evaluate(function() {
return document.getElementsByTagName('html')[0].innerHTML;
});
console.log("done in " + (Date.now()-x) + "ms");
console.log("result:", html.length);
yield nightmare.end();
return html;
}
谢谢!
答案 0 :(得分:0)
您需要按名称传递方法,而不是实际调用它。 Vo会在运行时调用该方法。代码应该是
vo( run )(function(err, result) {
if (err) throw err;
console.log("end result length: ", result.length);
});