首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Processing.js线程

Processing.js线程
EN

Stack Overflow用户
提问于 2014-09-03 07:24:45
回答 2查看 122关注 0票数 0

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

处理代码:

代码语言:javascript
复制
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:

代码语言:javascript
复制
<!-- 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调用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-03 07:32:22

如果是在加载页面的过程中,那么使用一个标志来表示调用已经返回了怎么办?

代码语言:javascript
复制
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++;
    }
}

编辑:我已经在回调函数中移动了警报。

票数 1
EN

Stack Overflow用户

发布于 2014-09-10 05:56:48

作为给出的答案的另一种选择,我已经在processingjs.org网站上广泛地介绍了这一点,所以您可能想读一读:http://processingjs.org/articles/PomaxGuide.html#interface

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25638558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档