gpt4 book ai didi

javascript - $.getJSON 回调帮助 - 不是函数

转载 作者:行者123 更新时间:2023-12-01 02:25:57 26 4
gpt4 key购买 nike

我的上下文如下:

我有一个变量“qq” - 我想通过 API 调用将数据分配给该变量,分配数据后,我就会在绘制/绑定(bind)过程中使用该数据。

API 调用和分配给 var 'qq' 工作正常 - 但我似乎无法让我的回调工作 - 我不断收到错误:callback() 不是函数

这就是我的代码当前的样子:

var qq = [];

// binding function - to be run after data loader has completed
function sayIamDone() {
alert('I Am Done');
// do data bindings with qq
}

// load data from api into var qq

function dataLoader(inp,callback) {
let url = 'http://localhost:65232/api/layercolor/' + inp;
console.log(url);
$.getJSON(url,function(result) {
qq = eval('({' + result + '})');
//console.log(qq);
callback();
});

}

// call data loader
dataLoader('Prov', sayIamDone());

根据上面的内容,我在 Chrome 控制台中收到以下错误:

未捕获类型错误:回调不是函数

我尝试了以下方法 - 似乎有效:

dataLoader('Prov', function () { alert('I Am Done');});

但它在我的上下文中并不理想,因为我想调用 dataLoader('Prov',XXX()) ,其中 XXX() 可能是使用 qq 中新加载的值的许多不同函数

请问我在哪里错过了船,有什么建议吗?

最佳答案

通过运行 dataLoader('Prov', sayIamDone());,您将把 sayIamDone< 的结果传递给 dataLoader/ 函数。您必须在不带括号的情况下传递它才能传递函数本身。

dataLoader('Prov', sayIamDone);

关于javascript - $.getJSON 回调帮助 - 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48802810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com