Как получить синхронную загрузку с использованием async и ожидать в jquery загруженных метаданных?Jquery

Программирование на jquery
Ответить
Anonymous
 Как получить синхронную загрузку с использованием async и ожидать в jquery загруженных метаданных?

Сообщение Anonymous »

Я хочу использовать jquery для получения продолжительности звука синхронно с ожиданием.
Я хочу получать предупреждающие сообщения в следующем порядке:
111
222 leng=1.549188
333 duration=1.549188
444

Но у меня асинхронный порядок:
111
333 duration=9999
444
222 leng=1.549188

Как это исправить?
var duration = 99999 ;

async function getAudioUrlDuration(src, callBackFun) {
var audio = new Audio();
audio.src = src;
await $(audio).on("loadedmetadata", function(){
callBackFun( audio.duration );
duration = audio.duration ;
});
}
function callBackFun3(leng){
alert('222 leng='+leng) ;
}
var src = "https://www.w3schools.com/tags/horse.mp3" ;

async function aaa(){
alert(111);
await getAudioUrlDuration(src, callBackFun3 ) ;
alert( '333 duration='+duration ) ;
alert(444);
}

aaa();


Подробнее здесь: https://stackoverflow.com/questions/784 ... edmetadata
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»