Javascript 如何在重载功能运行时更新我的UI?
我正在尝试做一个小项目,让你可以想象n皇后之谜的各种解决方案 我面临的最困难的问题之一是,在负责寻找解决方案的功能运行时,尝试更新电路板。事实上,当有人试图计算一个新的解决方案集时,我甚至无法让电路板消失,因为UI停止响应 我特别尝试的是创建和显示一个新的电路板,方法与计算结束时相同,但这次是在循环中检查给定的集合是否包含解决方案。在我的服务文件上是ln:8Javascript 如何在重载功能运行时更新我的UI?,javascript,angularjs,Javascript,Angularjs,我正在尝试做一个小项目,让你可以想象n皇后之谜的各种解决方案 我面临的最困难的问题之一是,在负责寻找解决方案的功能运行时,尝试更新电路板。事实上,当有人试图计算一个新的解决方案集时,我甚至无法让电路板消失,因为UI停止响应 我特别尝试的是创建和显示一个新的电路板,方法与计算结束时相同,但这次是在循环中检查给定的集合是否包含解决方案。在我的服务文件上是ln:8 this.checkSolution = function(board) { //console.log("Checking i
this.checkSolution = function(board) {
//console.log("Checking if solution ", board, " is valid.");
for (var i = 0; i < board.length; i++) {
for (var j = i + 1; j < board.length; j++) {
if (Math.abs(board[i] - board[j]) == Math.abs(i - j)) {
return false;
};
};
};
//console.log("Solution valid...");
return true;
};
this.checkSolution=功能(板){
//日志(“检查解决方案”,板,“是否有效”);
对于(变量i=0;i
可以在此处找到这些文件的副本
是否有办法解决此问题,并在算法运行时实时更新电路板以显示当前解决方案
这个问题与我的问题相似,实际上没有任何实际帮助。这篇文章只是简单地询问了一些真实的单词案例,其中有人希望使用Workers,而选择的答案提供了一些关于这个主题的教程的链接,尽管这些教程很有趣,但并没有帮助我解决这个问题。另一方面,我提出了一个确切的案例,并举例说明了各种困难(至少对我而言)。代码位于与我的一个模块链接的angular service中,使其与线程一起工作是不可能的 您需要的是在单独的线程中运行重载函数。一种方法是HTML5网络工作者 其思想是,繁重的计算部分单独运行,只向主线程发送消息,主线程侦听这些消息并同时处理UI 有关web workers使用的示例,请访问
下面是更健壮的文档也许您可以使用setTimeout调用函数本身,将计数器作为参数传递。这样,其他东西将在超时之间运行。可能重复