我从npmjs > jsdom获取了示例代码。此过程在几秒钟内执行,只有在我想要运行第二个操作之后,例如 console.log 。但是不要在jsdom的主体中插入代码。也许它适用于 Node.js>流 什么时候要创建一系列功能,下一个流程会在上一个结束时开始。
我在哪里可以阅读Node.js中的序列?
var jsdom = require("jsdom");
jsdom.env({
url: "http://news.ycombinator.com/",
scripts: ["http://code.jquery.com/jquery.js"],
done: function (errors, window) {
var $ = window.$;
console.log("HN Links");
$("td.title:not(:last) a").each(function() {
console.log(" -", $(this).text());
});
}
});
console.log("The end");
答案 0 :(得分:2)
您正在寻找Async.js
。
具体而言,您正在寻找其series()
功能(Run an array of functions in series, each one running once the previous function has completed
)。
代码示例(基于它的文档):
async.series([
function(callback){
jsdom.env({
url: "http://news.ycombinator.com/",
scripts: ["http://code.jquery.com/jquery.js"],
done: function (errors, window) {
var $ = window.$;
console.log("HN Links");
$("td.title:not(:last) a").each(function() {
console.log(" -", $(this).text());
});
callback(null, 'one');
}
});
},
function(callback){
// do some more stuff (second task) ...
callback(null, 'two');
}
],
// optional callback
function(err, results){
console.log("The end");
});