【发布时间】:2023-03-27 02:57:01
【问题描述】:
我觉得有些异步代码应该在 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() 的示例也很受欢迎,但在这种情况下我会收到一种“常见做法”的建议。
【问题讨论】:
标签: javascript promise casperjs