@Kirill-Gorelov
С ума с IT

Как переписать код js на код асинхронный?

Парни, не особо понимаю как переписать мою функцию на асинхронную функцию?
Я прочитал несколько статей на хабре, но по всей видимости не очень внимательно или я просто не понимаю как это сделать.
Я понимаю принцип работы асинхронности и понимаю суть, но не понимаю как ее применить к своему коду.
Мне надо, что бы мой ajax запрос выполнился после расчета всех математический(не сложных) вычислений.
function resizeprint(id, coord, ap_zp_id, ap, appl_w, appl_h){

        var str = coord;
        var arr = str.split(' ');//делаем массив
        //получаем ширину из координат
        width_c = arr[2];
        //получаем отступ слева из координат
        left_c = arr[0];
        //получаем отступ сверху из координат
        top_c = arr[1];
        //получаем длину сверху из координат
        height_c = arr[3];
        percent_origin = (192*100)/502;

        /* считаем новые размеры блока куда нужно вставить картинку */
            new_width_c = (width_c*percent_origin)/100;
            new_width_calc = new_width_c;
            new_left_c = (left_c*percent_origin)/100;
            new_top_c = (top_c*percent_origin)/100;
            new_top_calc = new_top_c;
            new_height_c = (height_c*percent_origin)/100;
            new_height_calc = new_height_c;

        p_h_new = appl_h / (appl_w / new_width_c);
        if(p_h_new > new_height_c){
            new_width_c = appl_w / (appl_h / new_height_c);
            new_left_c = new_left_c + (new_width_calc - new_width_c)/2;
            new_top_c = new_top_c + (new_height_calc - p_h_new)/2;
            if (new_top_c < new_top_calc) {new_top_c = new_top_calc};
        }

        $('.image_customs_'+ap_zp_id).css({'left':new_left_c+'px','top':new_top_c+'px', 'max-height':new_height_c+'px', 'max-width':new_width_c+'px'});

        var n_new_top_c = ((new_height_c - $('.image_customs_'+ap_zp_id).height() )/2)+new_top_c;
        $('.image_customs_'+ap_zp_id).css('top',n_new_top_c+'px');
        $('.a_'+ap).removeClass('hidden');

            $.ajax({
                type: "POST",
                url: "/ajax/add_style_print.php",
                data: {
                    str:'position:absolute; left:'+new_left_c+'px; max-height:'+new_height_c+'px; max-width:'+new_width_c+'px; top:'+n_new_top_c+'px;',
                    id:id,
                }
            }).done(function(datarez) {
               console.log('Добавили в БД');
            });

    }
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы