Задать вопрос
@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();
  • Вопрос задан
  • 1693 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
romy4
@romy4
Exception handler
промисы решают задачу.
но мне кажется, что можно решить вставив вывозы в success для ajax
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы