У меня трудно понять, как называется этот обратный вызов:нужны разъяснения о том, как обратные вызовы работают в JavaScript
$(function() {
function getData(callback) {
var now = Date.now();
var hour = 60 * 60 * 1000;
var temperatures = [];
for (var k = 24; k > 0; --k) {
temperatures.push([now - k * hour,
Math.random() * 2 + 10 * Math.pow((k - 12)/12, 2)
]);
}
callback ({data: temperatures });
}
getData(function (data) {
$.plot("#chart", new Array(data));
});
});
Я хорошо знаю, что происходит в цикле только нуждаются в уточнении с обратного вызова. Итак, обратный вызов - это еще одна функция, и в ней мы создаем метод? И присвоить массив tempretures? Эта часть меня действительно смущает. Если «данные» в обратном вызове - это метод, почему я не могу переименовать его ни в чем другом? Хотя я могу переименовать во что угодно, я хочу аргумент «data», когда я вызываю функцию getData.
Может ли кто-нибудь предоставить более понятную версию этого отношения обратного вызова и tempretures? Благодарю.
Данные в обратном вызове являются аргументом. Функция обратного вызова является анонимной. – robertc
Функция в getData принимает объект и возвращает ему переменную «data». В обратном вызове вы передаете этот объект - {data: temperature}, вы путаете метод данных здесь с переменной данных в функции getData. Первый - это метод объекта, второй - имя для ссылки на этот объект. –