我正在链接回调,如下面的Javascript代码段所示:
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
});
}
当我在页面上运行代码时,出现以下错误:
未捕获的TypeError:market_price_cb不是函数
为什么我会收到此错误,我该如何解决?
答案 0 :(得分:0)
您没有向sudo /etc/init.d/apache2 restart
调用提供第二个参数,因此my_chart_cb
未定义。
答案 1 :(得分:0)
使用此关键字访问功能" market_price_cb"在my_chart_cb()中。它将解决问题。
这意味着:
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);
this.market_price_cb(chart, market_price_data);
});
}