I Typescript, hvordan bruke en funksjon før den er erklært?
Jeg vil erklære en funksjon, sende den som en håndterer, og deretter definere den, koden min ser slik ut:
type authenticateHandler = (req: Restify.Request, res: Restify.Response) => any;
server.post("/authentication", authenticateHandler);
server.post("/v1/authentication", authenticateHandler);
const authenticateHandler: authenticateHandler = (req: Restify.Request, res: Restify.Response) => { ... };
Jeg får denne feilen når jeg sender funksjonen på linje 2, hva gjør jeg feil?
TS2448: Variabel med blokk-scope 'authenticateHandler' brukt før deklarasjonen
Svar #1
Enten erklær din konstante funksjon før den brukes (som advarelsen foreslår).
type AuthenticateHandler = (req: Restify.Request, res: Restify.Response) => any;
const authenticateHandler: AuthenticateHandler = (req: Restify.Request, res: Restify.Response) => { ... };
server.post("/authentication", authenticateHandler);
server.post("/v1/authentication", authenticateHandler);
Eller definer det som en funksjon:
function authenticateHandler(req: Restify.Request, res: Restify.Response) => { ... };
