Timeout

Setting request timeout with minimum effort

Overview

SugoiJS provides an easy way to set the timeout for a request based on the endpoint using the @Timeout decorator.

@Timeout decorator

Using the @Timeout decorator we can set a timeout on a method and define a callback in case of a timeout.

Timeout(ms: number, onTimeout?: (req, res) => void)

Example

export class TimeoutMethod{
    @HttpGet('/timeout')
    @Timeout(1000, (request, response) => {
        console.error("timeout called")
        response.json({timeout: true})
    })
    public async timeout() {
        return await new Promise(resolve => {
            setTimeout(() => {
                resolve({data: new Date()})
            }, 2000)
    }
}

Last updated