LINUX.ORG.RU

Есть-ли способ иначе записывать асинхронные бутсрапы?

 


0

1

Как всем известно, яваскрипт сильно асинхронный и небблокирующий. Соответсвенно когда требуется выполнить строго последовательно несколько функций, приходится вызывать их вложено в коллбэках у друг-друга. вот такой код:

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?

Как думаете, какие есть соображения, что подскажете?


man Promise

man await

x3al ★★★★★
()
Ответ на: комментарий от pup_kin

Есть уйма полифиллов и, опять же, bluebird.

x3al ★★★★★
()

Гуглить ключевые фразы: babel es 7 async await

nikolnik ★★★
()

Это хто сказал, что слип не подходит? 10 секунд - и никаких гвоздей, полюбуйтесь, овощи, на крутую анимацию

TooPar
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.