Недавно я разрабатывал веб-приложение, и я понимаю, что я вообще не использую асинхронное свойство. Следовательно, я получаю много вложенных обратных вызовов.Node.js асинхронные случаи использования
Например, если пользователь хочет получить файл с сервера через определенный API, я буду иметь код, подобный этому,
db.query(<select list of permitted files_names>, function(err, filenames) {
async.each(file_names, function(name, next) {
//open each file to put into array
});
})
Этот код должен запросить базу данных, чтобы получить список файлов имена перед асинхронным циклом и помещением каждого содержимого файла в массив. Наконец, он вернет готовый массив клиенту.
С вложенным обратным вызовом и асинхронной библиотекой этот код ведет себя как синхронный код.
names = db.querySync(//select list of permitted files_names);
for(name in names) {
//open each file to put into array
}
Мне лучше написать синхронный код, как это, так как он очень аккуратный. Мой пример использования может быть немного странным, но большинство моих апи ведет себя аналогичным образом, и это заставляет меня думать, почему мне даже нужна асинхронная функция?
Может кто-нибудь, пожалуйста, просветит меня, если есть какие-либо различия между этими двумя кодами с точки зрения производительности? Как использовать свойство non-blocking для повышения производительности в этом прецеденте?
Поиска асинхронного/ждет в JavaScript –
@ Aᴍɪʀ - почему бы асинхронная/Await иметь отношение? –