1
Я не могу окунуться в обратные вызовы. Вот простой пример, чтобы показать, о чем я смущен. Обратный вызов printData необходимо вызывать после возврата getData.Как выполнить обратный вызов после того, как функция вернулась
function data(cb) {
var myData = getData();
cb(myData);
}
function printData(data) {
console.log("printing " + data)
}
function getData() {
console.log("getting data");
setTimeout(function(){
console.log("finishing data");
return "this is the data"
}), 3000;
}
data(printData);
//OUTPUT
//getting data
//printing undefined
//finishing data
'getData' действительно возвращается немедленно. «Возврат» в обратном вызове 'setTimeout' бесполезен. 'getData' должен также выполнить обратный вызов. – Bergi
Взгляните на это: http://stackoverflow.com/a/5520190/185672 – Phil
Зачем вам нужен обратный звонок? Кажется, это не совсем полезно в вашем коде. – alcfeoh