កំហុស​ដែល​កើត​មាន​ឡើង​នៅ​ក្នុង​កម្មវិធី Express.js ដែល​មាន​លក្ខណៈ​បន្តបន្ទាប់ (synchronous) ត្រូវ​ទទួល​យក​​ជា​ស្វ័យប្រវត្តិ​ដោយ​ប្រព័ន្ធ Express.js ។ ក៏ប៉ុន្តែ ចំពោះ​កំហុស​ដែល​កើត​មាន​ឡើង​​នៅ​ក្នុង​កម្មវិធី​មាន​លក្ខណៈមិន​បន្តបន្ទាប់ (asynchronous) យើង​ចាំបាច់​ត្រូវ​ទទួល​យក​កំហុស​នោះ​បញ្ជូន​អោយ​ទៅ​ប្រព័ន្ធ​ Express.js ។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

/* ./routes/index.js */
import express from 'express'
const index = express.Router()

let data = {}

index.get('/',(req,res,next)=>{
    data.message = ''
    res.render('base',data)
})

index.post('/',(req,res,next)=>{
    let page = req.body.page
    Promise.resolve().then(()=>{
        if(page > 3){
            throw new Error('BROKEN')
        }

        data.message = `ទំព័រ​លេខ ${req.body.page}`
        res.json(data)
        
    }).catch(next)
})
 
export default index