Здесь я чувствую, что застрял с некоторым асинхронным кодом, который должен выполняться внутри обратного вызова casper.then()
.
casper.then(function() {
var spawn = require("child_process").spawn;
var child = spawn("somecommand", ["somearg"]);
child.stdout.on("data", function (data) {
console.log("spawnSTDOUT:", JSON.stringify(data))
});
});
casper.then(function () {
// Something that should be synchonized
});
Есть ли способ убедиться, что второй then()
будет выполнен только после запуска обратного вызова данных?
Я хотел бы заменить первый then()
чем-то, что не передаст управление второму then()
после выполнения по умолчанию, и предпочел бы сделать это, вызвав что-то (давайте назовем это «разрешить», как предлагает шаблон обещания) в обратном вызове данных .
Примеры, в которых используется casper.waitFor()
, также приветствуются, но в этом случае я получу своего рода предложение «общей практики».