检查申请状态,并在可用时继续
Check application status and proceed when it avilible
我需要检查应用程序是否可用(应用程序通过child_process节点 API 启动),应用程序启动之前的时间可以更改 2 - 30 秒。 如果应用程序不可用,我需要使用 process.exit(1) 停止进程;
我考虑检查应用程序端口是否打开
https://github.com/baalexander/node-portscanner
portscanner.checkPortStatus(3000, '127.0.0.1', function(error, status) {
// Status is 'open' if currently in use or 'closed' if available
console.log(status)
})
假设我有应用程序端口(作为参数),我应该如何每 100 毫秒很好地完成一次(超时?
看看 Javascript 计时事件: http://www.w3schools.com/js/js_timing.asp
您可以使用 setInterval(函数,毫秒)每 100 毫秒执行一次端口扫描,但要小心:间隔越短,您离危险区域越近,因为端口扫描将消耗扫描机和扫描机器的资源。
请参阅下面的 W3S 示例:
<!DOCTYPE html>
<html>
<body>
<p>A script on this page starts this clock:</p>
<p id="demo"></p>
<script>
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}
</script>
</body>
</html>
在您的情况下,它可能是(如果检查端口状态是您想要的;)):
var myTimer = setInterval(scan, 100);
function scan() {
portscanner.checkPortStatus(3000, '127.0.0.1', function(error, status) {
// Status is 'open' if currently in use or 'closed' if available
console.log(status)
if (status == 'closed') {
clearInterval(myTimer);
doYourThing();
}
});
}
相关文章:
- 事件和状态
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- XMLHttpRequest未返回值-状态202
- 使用javascript反复检查用户在facebook上的登录状态
- 如何使bxslider仅在移动视图中处于活动状态
- 获取ASP.NET Ajax Timer状态
- React redux初始化功能,无论状态变化如何
- 为什么继续;语句冻结浏览器
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 从组件状态的数组中删除元素
- 检查申请状态,并在可用时继续
- 我想要一个动画触发活动,并继续一旦活动状态消失