.get()
- это оболочка для $.ajax()
. Все AJAX-запросы выполняются асинхронно , если не указано иное. Это, в свою очередь, означает, что ваш оператор return newtb;
произойдет до того, как $.get()
завершится.
Хороший способ обойти эту проблему - вызвать другой обратный вызов самостоятельно. Это может выглядеть так:
function GetNewSomething(callback) {
$.get("/something/new",
function (data) {
if( typeof callback === 'function' )
callback.apply(this, [data]);
}
);
}
А потом назовите это как
GetNewSomething(function(data) {
// do something with data
});