如在以下JavaScript我链接回调片断如下:jQuery.Deferred例外:XXX是不是一个函数类型错误:XXX是不是一个函数
function market_price_cb(chart, marketdata){
if (!chart.isEmpty()){
// ...
}
else {
// build chart from scratch ...
}
// do something with the chart ...
}
function my_chart_cb(chart, market_price_cb){
$.ajax({
url: 'http://localhost:8000/123'
}).then(function(data) {
market_price_data = $.parseJSON(data);
console.log(market_price_data);
market_price_cb(chart, market_price_data);
});
}
// Fetches chart JSON data from server and rebuilds chart object
function load_chart_from_server(symbol, data_freq, my_chart_cb)
{
$.ajax({
url: 'http://localhost:8000/699',
success: function (data) {
let chart_object = $.parseJSON(data)
console.log(chart_object);
my_chart = new Chart(chart_object);
my_chart_cb(my_chart);
},
async: true
});
}
当我在我的网页上运行的代码,我得到以下错误:
Uncaught TypeError: market_price_cb is not a function
为什么我得到这个错误,我该如何解决它?
是啊,这是很明显的,如果你却被不提供参数,怎么能有一个功能 –
要么做scope.market_price_cb或不添加帕拉姆。如果您想将其添加为可选的do:if(market_price_cb){market_price_cb();} else {window.market_price_cb()); –