【发布时间】:2013-06-17 00:12:20
【问题描述】:
我在 CasperJS 中运行一个监听器,它访问一些私人网站并等待某些数据配置。目前,这在编号为 For 的循环上运行得很好,但不是最优的,如下所示:
for (var p = 20000; p-- > 0;) {
// ... c.900 lines of code ....
}
While 循环和 Do-While 循环不起作用,因为 Casper.then 的多个实例存在范围问题。
我真正想做的是在一天的计时器上 cron 代码,在早上 6 点到午夜之间运行,类似于:
// as global variable
function militarytime () {
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var military = (hours*100)+minutes
return military;
}
var p = militarytime();
// then within code,
for (t=p; (t=p) && (p>600); t++)
这种特殊的做法(我已经尝试过很多)只是挂在 CasperJS 中。
代码已经在生产环境中运行了几个星期,但效果不佳,在那段时间里我一直在搜索 stackoverflow 和 casperjs/api,但无济于事。有什么建议吗?
提前致谢。
【问题讨论】:
-
您的意思是在 for 循环的条件内分配给
p吗? -
是的。不可否认,这是一次 hack 的尝试,因为 for 循环中的第一条语句设置了初始条件并且只评估了一次。我试图在每次循环发生时让 p 评估为 [new Date],将循环绑定到当前时间戳。
-
啊——我明白了。你能提供更多的代码来看看吗?很难说 for 循环是做什么的。
标签: javascript for-loop while-loop phantomjs casperjs