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