gpt4 book ai didi

javascript - Processing.js 线程

转载 作者:行者123 更新时间:2023-12-03 11:55:11 25 4
gpt4 key购买 nike

我的processing.js 文件中有一个函数,它调用AJAX 脚本返回一个数组,我想用该数组为我的代码定义一些简单的起始变量。我希望这个函数在执行它之后的代码的任何其他部分之前完成。当我运行代码时,setup() 阶段中的警报和draw() 中的第一个警报都返回“未定义”,而draw() 阶段中的下一次迭代返回我需要的实际数组。

处理代码:

var loadArray;

setup() {

loadArray = new Array();

js_GetArray(function(data) {
loadArray = data;
});

alert(loadArray[1]);
alert(loadArray[2]);
}

void draw()
{
alert(loadArray[k]);
k++;
}

AJAX:

<!-- Read the vars numbers from the mysql database and return them -->
<script language="JavaScript" type="text/javascript">
function js_GetArray(callback) {
$.get( "load.php", function( actiondata ) {
var obj = JSON.parse(actiondata);
callback(obj);
});
}
</script>

有没有办法强制程序在继续执行其余代码之前完成 js_GetArray 调用?

最佳答案

如果是在页面加载期间,那么使用标志来指示调用已返回怎么样?

var loadArray;
var isloaded = false;

setup() {

loadArray = new Array();

js_GetArray(function(data) {
loadArray = data;
isloaded = true;
alert(loadArray[1]);
alert(loadArray[2]);
});
}

void draw()
{
if(isloaded)
{
alert(loadArray[k]);
k++;
}
}

编辑:我已将警报移至回调函数内。

关于javascript - Processing.js 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com