我是初学者程序员,我试图理解为什么我的系统中有人这样做了。在第一个JS代码中,他对commonService做了一个require,之后,创建一个类PedidoService扩展CommonService,再次定义异步find(req,res),一旦异步find(req,res)在CommonService类中定义。
const CommonService = require('./commonService');
class PedidoService extends CommonService {
constructor() {
super(new PedidoBO());
}
async find(req, res) {
try {
let params = req.swagger.params;
let result = await this._contextBO.findPedidos(params)
if (result.results === null) {
result.results = [];
}
Response.responseAPI.success(res, result, HttpStatusCode.OK);
} catch (err) {
if (err instanceof ErroException) {
Response.responseAPI.error(res, HttpStatusCode.UNPROCESSABLE_ENTITY, err.message, true);
}
else {
Response.responseAPI.error(res, HttpStatusCode.INTERNAL_SERVER_ERROR, err.message);
}
}
}
这是commonService.js:
class CommonService {
constructor(contextBO) {
this._contextBO = contextBO;
}
async find(req, res) {
try {
let params = req.swagger.params;
let result = await this._contextBO.find(params);
if(result.results === null) {
result.results = [];
}
Response.responseAPI.success(res, result, HttpStatusCode.OK);
} catch (err) {
if (err instanceof ErroException) {
Response.responseAPI.error(res, HttpStatusCode.UNPROCESSABLE_ENTITY, err.message, true);
}
else {
Response.responseAPI.error(res, HttpStatusCode.INTERNAL_SERVER_ERROR, err.message);
}
}
}
谢谢
您可以删除复制的异步函数PedidoService。你有一个PedidoService实例的图像。您总是可以使用PedidoService.find(req, res);
调用该函数,因为PedidoService扩展了CommonService。