我尝试从5个不同的网站加载3个字符并将它们连接成一个字符串,即使我正在使用try& catch语句字符串说'未被引用的引用错误'任何带有数字的代码都会导致意外的令牌错误'我目前正在使用P5.js框架,但愿意尝试普通的.js。
由于
我的代码:
var data;
function setup(){
var url = [];
url[0] = 'https://assess.joincyberdiscovery.com/challenge-files/clock-pt1?verify=NRpxYLm9hCkAkhy0OSjEPA%3D%3D.json'
url[1] = 'https://assess.joincyberdiscovery.com/challenge-files/clock-pt2?verify=NRpxYLm9hCkAkhy0OSjEPA%3D%3D.json'
url[2] = 'https://assess.joincyberdiscovery.com/challenge-files/clock-pt3?verify=NRpxYLm9hCkAkhy0OSjEPA%3D%3D.json'
url[3] = 'https://assess.joincyberdiscovery.com/challenge-files/clock-pt4?verify=NRpxYLm9hCkAkhy0OSjEPA%3D%3D.json'
url[4] = 'https://assess.joincyberdiscovery.com/challenge-files/clock-pt5?verify=NRpxYLm9hCkAkhy0OSjEPA%3D%3D.json'
try{
for (let i = 0; i < 5; i++){
data += loadJSON(url[i], gotData, 'jsonp') + ' '
}
} catch (data){
console.log('oh well');
}
}
function draw(){
createCanvas(400,400);
background(225);
text(data, 0, 200);
}
function gotData(data){
text(data, 100, 200);
}
答案 0 :(得分:0)
从文件或URL加载JSON文件,并返回一个Object。请注意,即使JSON文件包含数组,也会返回一个Object,索引号为键。
此方法是异步的,这意味着它可能无法在草图中的下一行执行之前完成。
最后一行解释了发生了什么:loadJSON()
函数是异步的,这意味着它不会直接返回任何内容。所以这样的线条没有意义:
data += loadJSON(url[i], gotData, 'jsonp') + ' '
请参阅参考中的示例以了解如何正确使用loadJSON()
函数,但基本上您需要使用回调函数或者需要使用preload()
函数。