[英]Processing.js Threading
我的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++;
}
}
编辑:我已经移动了回调函数内的警报。
作为给定答案的替代答案,我已经在processingjs.org网站上广泛介绍了此内容,因此您可能希望阅读以下内容: http : //processingjs.org/articles/PomaxGuide.html#interface
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.