私は以下のようにcasperjsコードを持っています:
var links = [
{ url : "http://engadget.com/" , name : "eng" },
{url : "http://shoryuken.com/2013/02/01/help-save-super-arcade/",name: "shir"},
{url: "http://theverge.com/",name:"thever" }
];
var eng_done = false , shir_done=false, thever_done=false;
var casper = require('casper');
for(i=0;i<links.length;i++){
var url = links[i].url;
var name = links[i].name;
var instance_i = casper.create();
instance_i.start(url,function(){
console.log("Loading: "+ name);
name_done = true;
});
instance_i.run(function(){
exit(i);
});
}
function exit(idz){
console.log("Now exiting instance no => "+idz);
if(eng_done & shir_done & thever_done){
idz.exit();
}
}
3 つの casperjs インスタンスを開始して一度に終了していることがはっきりとわかるように、exit(i) が常に 3 に固執するため、インスタンスを適切に終了できません。ここで何が間違っているのかわかりません。 ... (URL はサンプルです)。