Home > database >  TypeError, is not a function error in NodejS
TypeError, is not a function error in NodejS

Time:10-01

I have a class that contains few functions, putting one of then below,

const _ = require("lodash");
const ObjectId = require("mongoose").Types.ObjectId;
const mockLookUps = require(“../../data”).mockLookUps;

class XYZ {
   // ...... Other functions
   async getData() {
    return Promise.resolve(mockLookUps); // JSON Object
  }
}

module.exports = XYZ;

if I import that in other class like below,

const x = await XYZ.getData();

It is throwing me some is not a function error like this,

XYZ.getData is not a function

can anyone tell me what is the mistake I'm making? Please help, its bit urgent, Thanks.

CodePudding user response:

1. You have to create a class instance first to call instance methods.

try this:

const xyz = new XYZ();
const result = await xyz.getData();

2. For your case try to make it static:

class XYZ {
   // ...... Other functions
   static async getData() {
    return Promise.resolve(mockLookUps); // JSON Object
  }
}

module.exports = XYZ;

and then you can use so:

const x = await XYZ.getData();

CodePudding user response:

const xyz = new XYZ()
const data = await xyz.getData()

Could work

  • Related