我正在使用POST从我的应用程序远程提交作业。 POST请求返回一个作业ID,我可以使用GET请求来检查。的状态。
<script src="https://d3js.org/d3.v4.js"></script>
<script src="https://d3js.org/d3-scale-chromatic.v1.js"></script>
唯一的问题是我想在作业完成后分配变量,而不是刚刚开始时分配变量。有没有办法做到这一点?
如果完成,结果如下:
$http.get('http://localhost:8090/jobs/'+id).then(function successCallback(results) {
jobResults = results;
}
除了状态消息之外,如果没有完成,唯一的区别是“结果”变量不存在。
答案 0 :(得分:1)
我认为您的问题是您正试图在错误的地方找到解决方案。我所看到的是你的工作正在后端处理,所以你想在前端更新它,但你没有做到这一点所需的信息。 因此,您需要创建一个检查作业状态的进程,以便在您想要它时分配变量,在这种情况下,当作业完成时。例如,你可以使用setInterval来完成它。
var jobs = [];
setInterval(function () {
for (var i = 0; i < jobs.lenght; i++) {
checkJobStatus();
}
});
答案 1 :(得分:-1)
请尝试以下获取网址。
考虑从post请求获得jobId。
$http.get('http://localhost:8090/jobs/:id',{id : jobId}).then(function successCallback(results) {
jobResults = results;
}