@vovastradamus

Как выполнить функцию после ajax?

Доброго времени суток, Господа.
Хочу после вызова апи, выполнить функцию. Но поскольку ajax, это асинхронная функция, естественно функция, которая выполняется после вызова апи, получает пустую переменную ( поскольку данные в переменную приходят позже). Да, можно вызывать функцию после получения ajax, но тогда весь смысл вызова апи пропадет ( а мне этого очень не хочется).
Как сделать так, чтобы выполнять вызов разных функций, после получения переменной?
var vk = (function($) {
	var vk = {};
        vk.api = function (method, method_vk, params) {
		params.owner_id = cookieMaster.get("VK_user");
		params.v = 5.41;
		params.access_token = cookieMaster.get("VK_token");
		var str = $.param(params);
		var url = "https://api.vk.com/method/"+method_vk+"?"+str;
		$.ajax({
			url: url,
			method: method,
			dataType: "jsonp"
		}).done(function (response) {
			console.log(response);
			return response;
		});
	}
	return vk;
})(jQuery);

defTracksArray = vk.api('get', 'audio.get', { need_user: 0, count: 6000 });
player.generateTracks();
  • Вопрос задан
  • 1635 просмотров
Решения вопроса 2
romy4
@romy4
Exception handler
промисы решают задачу.
но мне кажется, что можно решить вставив вывозы в success для ajax
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы