​​​​យើងអាច​យក​ក្បួន​ធម្មតា​ជា​ច្រើន​មក​ដាក់​បន្ត​គ្នា​បង្កើត​ជា​ក្បួនកណ្តាលមួយ​ខ្សែដោយ​​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

 

// src/middleware.js

import { sequence } from "astro:middleware";

async function validation(_, next) {
    console.log("1 middleware")
    return await next()
}

async function auth(_, next) {
    console.log("2 middleware")
    return await next()
}

async function greeting(_, next) {
    console.log("3 middleware")
    return await next()
}

export const onRequest = sequence(validation, auth, greeting)

 

នៅ​ពេល​ដែល​យើង​ក្បួន​ធម្មតា​មក​ប្រើ​ជា​ក្បួន​កណ្តាល នៅ​ក្នុង​ក្បួន​ធម្មតា​ទាំងនោះ​ចាំបាច់​ត្រូវ​មាន​តំណាង​ទី​ពីរ​ចាំទទួល​យក​វត្ថុ​ដែល​ជា​ក្បួនឈ្មោះ next ។ ហើយ​ក្បួន​ទាំងនោះ​ក៏​ត្រូវ​យក​ក្បួន​ឈ្មោះ next នោះ​មក​ប្រើ​និង​បញ្ជូន​លទ្ធផល​ចេញ​ទៅ​ក្រៅ​ផង​ដែរ​។ 

 

ក្បួន​ធម្មតា​ទាំងនោះ​ត្រូវ​ដាក់​បន្ត​គ្នា​បង្កើត​បាន​ជា​ក្បួន​កណ្តាល​មួយ​ខ្សែ​ដោយ​ប្រើប្រាស់​ក្បួន​ឈ្មោះ sequence ដែល​ត្រូវបាន​​នាំ​ចូល​ពី​សាស្ត្រា “astro:middleware” ។ ហើយ​លទ្ធផល​បាន​មក​ពី​ក្បួន sequence ត្រូវ​ផ្តល់​អោយទៅ​​អថេរ​ឈ្មោះ onRequest ដែល​ត្រូវ​នាំ​ចេញ​ដោយ​បញ្ជា export ។ 

ជាលទ្ធផល ក្បួន​កណ្តាល​ទាំងនោះ​នឹង​ត្រូវ​យក​ទៅ​ប្រើប្រាស់​ជាបន្តបន្ទាប់​​ជា​ស្វ័យប្រវត្តិតាម​លេខ​រៀង​របស់​វា នៅ​គ្រប់​ការចូល​ទៅ​កាន់ឯកសារ​ទាំងឡាយ​តាម​ផ្លូវ​ណា​មួយ​៕