node.js - این عبارت قابل فراخوانی نیست. نوع 'Number' هیچ امضای فراخوانی ندارد


سلام، من تازه با تایپاسکریپت آشنا شدم. من یک متغیر از نوع شیء دارم که ممکن است مقادیر مختلفی از انواع مختلف یا شیء تو در تو داشته باشد. حالا سوال من این است که چگونه میتوانم یک مدل برای این شیء تعریف کنم تا وقتی کلیدهای مختلف را صدا میکنم با خطای نمونه مواجه نشوم؟

به عنوان مثال:

export class Controller {
protected static response(res: Response, statusCode: number = 200, data: any, user: string = '', dev: string = '', code: number = 200, result: string = 'success'){
    res.status(statusCode).send({
        data: data,
        message: {
            user: '',
            dev: ''
        },
        code: 403,
        result: 'Error'
    })
}


 ERROR: res.status ---> This expression is not callable. Type 'Number' has no call signatures

پاسخ شماره ۱

من هم این خطا را دریافت میکردم و متوجه شدم که فراموش کردهام Response را وارد کنم. افزودن یک خط واردات مشکل را برای من حل کرد.

import express, {Request, Response} from 'express';

پاسخ شماره ۲

در NextJS مطمئن شوید که نوع Response صحیح را وارد میکنید.

import { NextApiResponse } from "next";