今天遇到一个很特殊的问题。
报函数不存在:
javascript">[2024-10-28T17:50:51.082] [DEBUG] app - err: TypeError: ApiMinePropertyListingManagerService.collectPropertyListing is not a functionat Function.call (/www/project/app/event_center/erp/property_listing/erp_listing_service.js:844:52)
开始因为是大小写或路径问题,打印出来的是对象为空:
javascript">[2024-10-28T18:50:41.434] [DEBUG] app - ApiMinePropertyListingManagerService: {} EstateListingService: [Function: EstatePropertyListingService]
但是在其它文件打印出来的都是非空的。
后来直接读写该路径下的文件,结果能正常读出文件。
后来发现是两个类互相包含,并且互相掉用了对方的函数。编译器没有错误太坑了。
javascript">const ErpListingService = require('@app/event_center/erp/property_listing/erp_property_listing_service.js');
const EstateListingService = require('@app/event_center/erp/tool/estate_property_listing_service.js');class ApiMineListingManagerService {
另一个文件是:
javascript">const ApiMinePropertyListingManagerService = require('@app/event_center/api/property_listing/api_mine_listing_manager_ser
// const city = require('@app/module/city');
class ErpListingService {
浪费了我一下午才定位出来。
修改方式,把其中一个文件的被掉用的函数拷贝到另一个文件。