Как всем известно, яваскрипт сильно асинхронный и небблокирующий. Соответсвенно когда требуется выполнить строго последовательно несколько функций, приходится вызывать их вложено в коллбэках у друг-друга. вот такой код:
native_load_library("{% static 'js/lib/jquery-3.1.1.min.js' %}",
function(){
native_load_library("{% static 'js/lib/jquery.simplePagination.js' %}",
function(){
django_dr_ajax_paginate("#django_dr_ajax_paginator_pages_placeholder_id_{{ DDRAP_UNIQUE_STR }}",
"#django_dr_ajax_paginator_paginator_placeholder_id_{{ DDRAP_UNIQUE_STR }}",
"{{ DDRAP_LIST_VIEW_URL }}",
{{ DDRAP_PAGE_COUNT }},
"{{ DDRAP_UNIQUE_STR }}"
);
},
window.jQuery.pagination
);
},
window.jQuery);
Это получается малочитабельно, этакая лесенка из коллбэков.
Может быть есть средства записать это всё в линейном виде? Конечно sleep здесь не подходит, но может быть можно сделать waitFor?
Как думаете, какие есть соображения, что подскажете?