Базовое понимание использования промежуточного программного обеспечения в среде koa.

Я думаю, что в основе фреймворков для разработки бэкенда nodejs лежит использование промежуточного программного обеспечения. Перехватив запрос, сделайте что-нибудь с этим, обновите ответ или обработайте входящие данные.

В Koa промежуточное ПО основано на промисах и работает с использованием модели Onion. По сути, вы можете использовать async/wait в каждом промежуточном программном обеспечении, дождаться разрешения следующего промежуточного программного обеспечения, а затем выполнить остальную часть кода промежуточного программного обеспечения.

Пример:

Функция регистрации времени для расчета количества времени, которое ваше приложение потребляет для выполнения всех процедур между запросом и ответом.

app.use(async (ctx, next) => {
const start = Date.now();
await next(); // api logic
const ms = Date.now() - start;
console.log('API response time:' + ms);
});

Чтобы рассчитать, что использование экспресса потребует гораздо более длинной и запутанной логики кода.

Эта работа таким образом…

потому что Koa использует koa-compose для объединения всех промежуточных программ в одну рекурсивную функцию, которая будет перебирать все промежуточные программы по своим позициям в массиве промежуточных программ koa и возвращать обещание в конце.

Мои выводы

Я использую koa в течение нескольких месяцев и в нескольких различных технических средах, таких как graphql, rest api, бессерверные функции, и, на мой взгляд, этот фреймворк сияет использованием своего промежуточного программного обеспечения.

использованная литература

Осваиваем ПО промежуточного слоя Koa

Элегантность асинхронного связывания промежуточного программного обеспечения в Koa.js

[ReadingKoa] Day One — Как работает промежуточное ПО Koa

Фото автора Сафар Сафаров на Unsplash