Показать сообщение отдельно
  #1 (permalink)  
Старый 08.05.2024, 21:25
pvv pvv вне форума
Новичок на форуме
Отправить личное сообщение для pvv Посмотреть профиль Найти все сообщения от pvv
 
Регистрация: 08.05.2024
Сообщений: 7

порядок загрузки скриптов и await async
отдельные скрипты должны выполняться синхронно по очереди

<html><body>
<script src = 'script.js'></script>
<script>console.log("internal script", result)</script>
</body>/<html>


но в script.js

async function func(){instance = await WebAssembly.instantiate ...}

document.currentScript.onload = async function(){
  result = await func()
  console.log("onload complete")
}


наличие асинхронной функции слегка ломает порядок загрузки скриптов так как встретив await начнётся загрузка следующего скрипта не дождавшись выполнения предыдующего.

Можно ли как-то сломать здесь асинхронный вызов func() чтобы дождаться загрузки и выполнения первого скрипта и только потом продолжить разбирать дальше html и выполнять остальные скрипты по очереди?

Я более менее понимаю как это надо делать правильно, но хочется понять как это сделать неправильно: не меняя все остальные скрипты, проверяя результат промисов или запихивая в колбэки.
А просто затупить до выполнения func() и выполнить всё "синхронно".
Ответить с цитированием