function generate() {
//generate one iteration of a maze
}
function createmaze() {
interval = window.setInterval(function() {
//create the maze by calling generate repeatedly, and some other stuff (which works!)
if(stop condition) {
draw(maze);
return(maze);
window.clearInterval(interval);
}
}, 0);
}
alert(createmaze());
function draw() {
//draws maze
}
我的问题是,虽然绘制函数运行正常并且绘制迷宫应该是,但createmaze返回undefined
。它不会成为一个问题,除了我需要迷宫更多的代码,不会得到它。
编辑:我知道我使用setinterval错误的0,但不知何故仍然有效
答案 0 :(得分:1)
这里的问题是你的间隔在4毫秒内完成,这是浏览器能够执行延迟任务的最快速度。
此外,不会捕获从间隔返回的值,因此createmaze()函数本身没有返回值。这就是你看到未定义的原因。
您需要开始使用promises或使用回调结构,以捕获区间结果的异步性质。