Javascript 使用BootstrapJS的Electron环境中的进度条工作不正常
环境:用于UI的Electron 1.6.11(包括NodeJ)和Bootstrap 3.3.x 预期结果: 我想:Javascript 使用BootstrapJS的Electron环境中的进度条工作不正常,javascript,node.js,twitter-bootstrap,electron,Javascript,Node.js,Twitter Bootstrap,Electron,环境:用于UI的Electron 1.6.11(包括NodeJ)和Bootstrap 3.3.x 预期结果: 我想: 单击“运行”按钮时启动不确定的进度条 运行一个进程(一个Java程序)——该进程成功运行 当进程(Java程序)返回时,删除不确定的进度条 我在以下代码中得到的是: 进程(Java程序)启动 该过程(Java程序)结束 然后出现不确定的进度条 (尝试时无法删除它--请参阅注释代码) 可能是我没有正确同步处理。 我认为NodeJS代码 resultCode = execSync(
resultCode = execSync(javaCmd);
将允许页面等待Java程序完成。
我怀疑密码
var execSync = require('child_process').execSync;
正在后台创建一个子进程,即使我正在使用execSync
,它也不会等待
你能帮忙吗
<!doctype html>
<html lang="en">
<head>
<script>
window.$ = window.jQuery =
require('./node_modules/jquery/dist/jquery.min.js');
</script>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<meta name="viewport" content="width=device-width" />
<link href="light-bootstrap-dashboard-master/assets/css/bootstrap.min.css" rel="stylesheet" />
<link href="light-bootstrap-dashboard-master/assets/css/animate.min.css" rel="stylesheet"/>
<style>
.progress {
margin: 15px;
}
.progress .progress-bar.active {
font-weight: 500;
animation: progress-bar-stripes 1.5s linear infinite;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="container">
<div class="form-check form-group">
<button type="submit" class="btn btn-success btn-fill" onclick='runJob()'>Run</button>
<br>
<br>
<div class="progress-bar progress-bar-striped active" id="bar" role="progressbar" style="width: 100%;">
<span>Processing</span>
</div>
</div>
</div>
</div>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
document.getElementById('bar').style.display = 'none';
});
</script>
<script language='javascript' type="text/javascript">
function runJob() {
var execSync = require('child_process').execSync;
var javaCmd = 'java -jar C:/Java_Code/CountDown.jar';
alert("Run process?");
// make progress bar visible here but does not work in sequence with job
document.getElementById('bar').style.display = 'block';
var resultCode;
resultCode = execSync(javaCmd);
// would like to remove progress bar here but does not work
//document.getElementById('bar').style.display = 'none';
alert("Command succesfully executed");
}
</script>
</body>
<!-- Core JS Files -->
<script src="light-bootstrap-dashboard-master/assets/js/jquery-1.10.2.js" type="text/javascript"></script>
<script src="light-bootstrap-dashboard-master/assets/js/bootstrap.min.js" type="text/javascript"></script>
</html>
window.$=window.jQuery=
require('./node_modules/jquery/dist/jquery.min.js');
.进展{
利润率:15px;
}
.progress.progress-bar.active{
字号:500;
动画:进度条条纹1.5s线性无限;
}
跑
处理
$(文档).ready(函数(){
document.getElementById('bar').style.display='none';
});
函数runJob(){
var execSync=require('child_process')。execSync;
var javaCmd='java-jarc:/java_Code/CountDown.jar';
警报(“运行进程?”);
//使进度条在此处可见,但不按作业顺序工作
document.getElementById('bar').style.display='block';
var结果码;
resultCode=execSync(javaCmd);
//希望删除此处的进度条,但不起作用
//document.getElementById('bar').style.display='none';
警报(“命令成功执行”);
}