Синхронный запуск асинхронной функции ⇐ Javascript
-
Гость
Синхронный запуск асинхронной функции
Я новичок в JS. Я использую стороннюю библиотеку с асинхронным обратным вызовом. Проблема в том, что мне нужно выполнить функцию полностью перед обработкой следующего обратного вызова. Я использую протокол загрузки tus.io, и мне нужно обрабатывать по одной загрузке за раз.
async onUploadCreate(req, res, uploadMetadata) { /* Мне нужно проверить корректность метаданных, используя внутренний js-файл */ //... /* Затем мне нужно проверить, вошел ли пользователь в систему, вызвав стороннюю конечную точку с помощью axios*/ //... /* Затем я проверяю базу данных Mongo на наличие существующего идентификатора загрузки. //... // если его там нет, создайте несколько записей в другой базе данных и добавьте идентификатор загрузки в mongo //Если он есть, получим несколько идентификаторов в монго, которые я добавлю в другую базу данных } Как видите, мне нужно немало поработать. Я делаю это потому, что в нашем случае не существует понятия сеанса загрузки; каждый файл поставляется в независимой загрузке. Я тестировал это, загружая по одному файлу за раз. Когда я использую несколько файлов, все происходит повсюду.
Можно ли добиться этого с помощью JavaScript? Я знаю, что это может повлиять на производительность, поэтому я открыт для предложений о том, как еще можно этого добиться.
Я новичок в JS. Я использую стороннюю библиотеку с асинхронным обратным вызовом. Проблема в том, что мне нужно выполнить функцию полностью перед обработкой следующего обратного вызова. Я использую протокол загрузки tus.io, и мне нужно обрабатывать по одной загрузке за раз.
async onUploadCreate(req, res, uploadMetadata) { /* Мне нужно проверить корректность метаданных, используя внутренний js-файл */ //... /* Затем мне нужно проверить, вошел ли пользователь в систему, вызвав стороннюю конечную точку с помощью axios*/ //... /* Затем я проверяю базу данных Mongo на наличие существующего идентификатора загрузки. //... // если его там нет, создайте несколько записей в другой базе данных и добавьте идентификатор загрузки в mongo //Если он есть, получим несколько идентификаторов в монго, которые я добавлю в другую базу данных } Как видите, мне нужно немало поработать. Я делаю это потому, что в нашем случае не существует понятия сеанса загрузки; каждый файл поставляется в независимой загрузке. Я тестировал это, загружая по одному файлу за раз. Когда я использую несколько файлов, все происходит повсюду.
Можно ли добиться этого с помощью JavaScript? Я знаю, что это может повлиять на производительность, поэтому я открыт для предложений о том, как еще можно этого добиться.
Мобильная версия