source

이 식은 호출할 수 없습니다.'번호' 유형에 호출 서명이 없습니다.

manycodes 2023. 6. 10. 09:31
반응형

이 식은 호출할 수 없습니다.'번호' 유형에 호출 서명이 없습니다.

안녕하세요, 저는 유형 스크립트에 새로 왔습니다. 다른 유형 또는 중첩된 개체와 다른 값일 수 있는 개체 유형 변수를 가지고 있습니다.이제 제 질문은 다른 키를 호출할 때 예제 오류가 발생하지 않도록 이 개체에 대한 모델을 어떻게 정의할 수 있습니까?

예:

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

또한 이 오류가 발생하여 응답을 가져오는 것을 잊어버렸다는 것을 깨달았습니다.저는 수입선을 추가하는 것으로 문제가 해결되었습니다.

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

ImmNextJS는 올바른 응답 유형을 가져오는지 확인합니다.

import { NextApiResponse } from "next";

다른 사람에게 도움이 될 경우, 저는 다음과 같은 경우에도 같은 오류를 본 적이 있습니다.

const shift = progressWidth * percentage
(this.$refs.expected as Vue).$el.style.left = "100px"

어디에percentage이다.number세미콜론이 없으면 두 번째 줄이 다음과 같이 줄의 일부로 해석되기 때문에 오류가 발생합니다.

const shift = progressWidth * percentage(this.$refs.expected as Vue).$el.style.left = "100px"

이 문제는 선행 세미콜론을 추가하여 해결할 수 있습니다.

const shift = progressWidth * percentage
;(this.$refs.expected as Vue).$el.style.left = "100px"

더 좋은 것은, 전혀 필요하지 않게 재배열하는 것입니다.

const expected = (this.$refs.expected as Vue).$el
const shift = progressWidth * percentage
expected.$el.style.left = "100px"

res.status는 해당 오류 메시지에 따른 숫자입니다.컨트롤러가 올바른 인수로 호출되지 않은 것 같습니다. console.log(res)부르기 전에 그 안에res.status콜 사이트 코드를 확인합니다.

컨트롤러에서 응답을 가져오기만 하면 됩니다.express또는 사용하는 프레임워크가 작동합니다.

import { Response } from 'express';

언급URL : https://stackoverflow.com/questions/60463324/this-expression-is-not-callable-type-number-has-no-call-signatures

반응형