دوره‌ها / Node.js / Advanced Middleware Patterns (Advanced Middleware)

Advanced Middleware Patterns (Advanced Middleware)

15 دقیقه Article

Advanced Middleware Patterns: الگوهای پیشرفته Middleware 🔧

بیایید الگوهای پیشرفته‌تر middleware رو یاد بگیریم!

Conditional Middleware:

// Middleware که فقط در شرایط خاص اجرا میشه
const conditionalMiddleware = (condition) => {
    return (req, res, next) => {
        if (condition(req)) {
            // اجرای middleware
            console.log('Condition met');
        }
        next();
    };
};

app.use(conditionalMiddleware((req) => req.path.startsWith('/api')));

Error Handling Middleware:

// Middleware برای handle کردن errors
const errorHandler = (err, req, res, next) => {
    console.error(err.stack);
    res.status(err.status || 500).json({
        error: {
            message: err.message || 'Internal Server Error',
            status: err.status || 500
        }
    });
};

app.use(errorHandler);

Async Middleware:

// Wrapper برای async middleware
const asyncHandler = (fn) => (req, res, next) => {
    Promise.resolve(fn(req, res, next)).catch(next);
};

// استفاده
app.get('/users', asyncHandler(async (req, res) => {
    const users = await User.find();
    res.json(users);
}));
✅ یاد گرفتید: Advanced middleware patterns برای کد بهتر عالیه!

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید