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

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

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