Javascript 为什么在p5js中不调用loadImage

Javascript 为什么在p5js中不调用loadImage,javascript,p5.js,Javascript,P5.js,我是新来的。我正在尝试使用loadImage()加载图像 这是我的代码: 功能设置(img){ 分类器。分类(img,gotResult) 附录GIF(img) } /*此代码返回要在中使用的随机标记 网址。 变量标记引用一个数组,我不会在这里显示。 */ 函数getRandomTag(){ const randomIndex=Math.floor(Math.random()*tags.length) 返回标签[随机索引] } /*此函数用于从giphy api返回随机gif*/ 异步函数ge

我是新来的。我正在尝试使用loadImage()加载图像

这是我的代码:

功能设置(img){
分类器。分类(img,gotResult)
附录GIF(img)
}
/*此代码返回要在中使用的随机标记
网址。
变量标记引用一个数组,我不会在这里显示。
*/
函数getRandomTag(){
const randomIndex=Math.floor(Math.random()*tags.length)
返回标签[随机索引]
}
/*此函数用于从giphy api返回随机gif*/
异步函数getRandomGif(randomTag){
const url=`${baseURL}${gifs}${random}?api_key=${api_key}&rating=${rating}&tag=${randomTag}`
const randomResponse=等待获取(url)
const responseJSON=wait randomResponse.json()
const gif=responseJSON.data.image\u url
返回gif
}
/*然后,这段代码将随机gif附加到html中的img元素*/
函数appendGif(gif){
常量imgElement=document.createElement('img')
imgElement.src=gif
kebabElement.appendChild(imgElement)
}
/*我正在使用p5js文档所说的预加载函数
我用loadImage函数加载图像*/
函数预加载(gif){
分类器=ml5.imageClassifier('MobileNet');
常量img=loadImage(gif)
返回img
}
函数gotResult(错误,结果){
如果(错误)抛出错误
控制台信息(结果)
}
异步函数main(){
const randomTag=getRandomTag()
const gif=等待getRandomGif(随机标记)
const img=等待预加载(gif)
返回设置(img)
}
main()
html,正文{
保证金:0;
填充:0;
}
帆布{
显示:块;
}

将gif拆分为帧
然后…按正确的顺序加载图像(“gif1”、“gif2”…)等等。

我认为这可能与您将输入传递到
setup()
preload()
有关。我从未见过
setup(img)
或类似的东西,括号总是空的。正如@jstl所建议的,您应该使用参数创建自己的函数,并在需要的地方调用它们!例如,创建您自己的
函数setupImage(img){…}
并在setup内部调用它,例如:
函数setup(){setupImage(img);}
预加载是一个无参数函数,p5在设置之前自动调用,也是一个无参数函数。最重要的是,这两个函数都不会返回承诺,因此不能等待它们。