javascript - p5.js api 应用程序没有返回正确的结果
问题描述
我正在使用 p5.js 制作一个 API 应用程序,它应该有一个搜索栏,当你单击搜索时,它会从值中获取一个 api,并 console.log 它(现在)
问题是,当我尝试实际单击搜索栏时,结果始终是以前的结果。换句话说,如果我首先搜索“Jack”,它将是未定义的,如果我再搜索“Jill”,我会从“Jack”中得到结果。
这是我的代码(顺便说一下,在 p5.js 中)
抓取API的文件:
let playerdata;
async function grabAPI(player) {
if(player !== undefined && typeof(player) === "string") {
await loadPlayer(player)
console.log(playerdata)
}
}
function loadPlayer(player) {
let url = `https://api.slothpixel.me/api/skyblock/profile/${player}`
loadJSON(url, dataReceived, dataError)
return playerdata
}
function dataReceived(data) {
playerdata = data;
return;
}
function dataError(err) {
playerdata = `Not Found (Error ${err.status})`;
return;
}
制作按钮、设置页面等文件:
function setup() {
createCanvas(windowWidth, windowHeight);
}
let input;
let search;
let nameValid;
function draw() {
background(255, 255, 255)
if(input == undefined) {
input = createInput("")
input.position(200, 200)
}
if(search == undefined) {
search = createButton("Search")
search.position(400, 200)
search.mousePressed(buttonPressed)
}
if(nameValid !== undefined && nameValid === false) {
text("not found", 300, 300)
}
}
function buttonPressed() {
if(typeof(input.value()) === "string" && input.value() !== "") {
grabAPI(input.value())
}
}
从我第一次运行它的事实来看,它总是“未定义”,我认为这是一个简单的变量没有在适当的地方编辑的问题,但我找不到问题出在哪里我。
谢谢阅读!
解决方案
推荐阅读
- java - 如果我包含括号,为什么输出会不同
- docker - kaniko docker build:找不到命令
- laravel - 如何使用 Laravel / Laragon 调试/查看 SQL 请求
- html - 在网页上的搜索框中输入文本,然后单击搜索
- unity3d - Gun Script Creates Bullet But Bullet Travel in All Different Directions
- python-3.x - 警告安装 SqlAlchemy
- security - 在 Electron 中使用 webview 标签是否安全?
- java - 无法使用 sprint WebClient 发布请求:总是 400
- reactjs - react中外部链接重定向时如何保存和传递用户名和密码
- node.js - 如何在nodejs中开玩笑地存根/模拟方法/构造函数的参数以进行单元测试?