是的,当你实例化一个类时,会自动执行该类的构造函数(constructor)。
例如:
const BaseService = require("./Base");
class StoreService extends BaseService {
constructor(data = {}) {
data.model = "store";
super(data);
}
// 获取所有门店id
async findOneByStoreId(storeId) {
const store = await this.findOne({ _id: +storeId, status: true });
return store;
}
async findOneByNccId(nccId) {
return this.findOne({ ncc_id: nccId, status: true });
}
}
module.exports = StoreService;
接下来在这个js文件里实例化类的时候,会自动执行:
constructor(data = {}) {
data.model = "store";
super(data);
}
const StoreService = require("../../../model/apass.service/store.service");
const getStoreId = async (nccId = "") => {
const storeService = new StoreService();
return storeService.findOne({ ncc_id: nccId, status: true }, ["_id"]).then(res => res?._id);
};
module.exports = {
getStoreId
};