Помогите переписать на промисы, чтобы уйти от вложенности. Читаю, читаю, ни черта не понятно.
function setAnswer($str) {
$('#status small b').html($str);
}
$.ajax({
url: "/proc/index.php",
type: "POST",
dataType: "json",
data: {"vk_id":"<?=$vk_id?>","user":"<?=$_COOKIE['user']?>","secret":"<?=$_COOKIE['secret']?>"},
success: function(data) {
if (data.step == 'info') {
setAnswer('Получаем посты (0%)');
function fetchData(posts,count = 0) {
$.ajax({
url: "/proc/index.php",
type: "POST",
dataType: "json",
data: {"vk_id":"<?=$vk_id?>","user":"<?=$_COOKIE['user']?>","secret":"<?=$_COOKIE['secret']?>","step":"2"},
success: function(data) {
if (typeof data.step !== 'undefined') {
if (data.step == 'done') {
setAnswer('Готово');
/*return window.location.reload();*/
} else if (data.step == 'run') {
count = data.count;
setAnswer('Получаем посты ('+count+'%)');
setTimeout(fetchData(posts,count),500);
}
} else {
$('#status').html('<span class="h3 text-danger">Возникла ошибка. Попробуйте снова.</span>');
}
}
});
}
fetchData(data.posts);
} else {
$('#status').html('<span class="h3 text-danger">Возникла ошибка. Попробуйте снова.</span>');
}
}
});