打字稿 - TypeError:无法读取未定义的属性“getEncryptedText”

时间:2021-02-24 18:08:22

标签: javascript node.js typescript class

我有以下代码:

import {Request, Response} from 'express';
const bcrypt = require('bcrypt');
var faker = require('faker');
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();


export default class AdminController{

  
    async create(request: Request, response: Response){
        try{
            const { name,
                    email, 
                    password,
                    access_level } = request.body;
            const encrypted_password = await this.getEncryptedText(password)
            await prisma.user.create({
                        data: {
                            name,
                            email,
                            password: encrypted_password,
                            admin:{
                                create:{
                                    access_level
                                }
                            }
                        }
        });
        return response.status(200).send();
        }catch(e){
            console.log(e);
            return response.status(400).json({
                e
            })

        }

    }
    async getEncryptedText(text:String){
        return await bcrypt.hash(text,8)
    }


    



}

但是当我运行它时,会出现以下消息:TypeError: Cannot read property 'getEncryptedText' of undefined

看起来我无法使用 this

在函数 create 中调用函数 getEncryptedText

我怎样才能让它发挥作用?

0 个答案:

没有答案