Результат считывания выполняется с задержкой - PullRequest
0 голосов
/ 03 февраля 2020

Строка Base64 должна быть отправлена ​​в запрос ajax, но проблема в том, что когда функция заканчивает деталь, часть, в которой она должна получить объект BLOB-объекта, заканчивается позже, возвращая нулевое значение ajax request!

Мне нужна эта часть кода, чтобы сеть могла записывать аудио, и этот звук должен храниться в базе данных! Я также загрузил часть кода, где произошла ошибка. Заранее спасибо, поскольку любая помощь будет более чем приветствоваться. Я перепробовал много способов обойти эту проблему?

Код ошибки прилагается на изображении 1

}

        function sleep(milliseconds) {
              const date = Date.now();
              let currentDate = null;
              do {
                currentDate = Date.now();
              } while (currentDate - date < milliseconds);
            }

        var second_function = function getBlob(){
            //var b = document.querySelector("audio").getAttribute("src");

            return new Promise(resolve => { 
                var bl = blobFile();
                var reader = new FileReader();
                reader.readAsDataURL(bl); 
                console.log("Entered second function"); 
                var base64data = reader.result; 
                console.log(base64data);
                resolve = base64data;
                alert(resolve);
            }); 

         }
        var async_funct = async function(){
            const second_promise= await second_function(); 
            alert(second_promise);
        }

        function myFunction(){
               $.ajax({
                    url: 'extra_question',//'extra_question?sectionId=1',
                    type: "POST",
                    data: '{"answer" : "Your answer", "voice": "Your voice here ", "questionId": 48}', //$("#sectionId").val(),//getBlob(),
                    processData: false,
                    contentType: false,
                    contentType: 'application/json',
                    success: function (result) {
                        window.location.href = 'other_question?sectionId=2';
                    },
                    error: function (error) {

                        console.log("This is :" + $("#sectionId").val());
                        console.log(error);
                    }

                });
            }


        function getAnswers(){
...