当两个文件互相包含并各自掉用了对方的函数将出现什么情况

news/2024/10/28 21:52:13/

今天遇到一个很特殊的问题。
报函数不存在:

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 {

浪费了我一下午才定位出来。
修改方式,把其中一个文件的被掉用的函数拷贝到另一个文件。


http://www.ppmy.cn/news/1542696.html

相关文章

CentOS系统Nginx的安装部署

CentOS系统Nginx的安装部署 安装包准备 在服务器上准备好nginx的安装包 nginx安装包下载地址为:https://nginx.org/en/download.html 解压 tar -zxvf nginx-1.26.1.tar.gz执行命令安装 # 第一步 cd nginx-1.26.1# 第二步 ./configure# 第三步 make# 第四步 mak…

语言模型微调:提升语言Agent性能的新方向

人工智能咨询培训老师叶梓 转载标明出处 大多数语言Agent依赖于少量样本提示技术(few-shot prompting)和现成的语言模型。这些模型在作为Agent使用时,如生成动作或自我评估,通常表现不佳,且鲁棒性差。 论文《FIREACT…

如何应对PDF无法转换成其他格式?常见原因与解决方法解析

在日常工作中,PDF文件的格式转换是非常常见的操作,无论是转换为Word、Excel,还是其他格式,都会有一些方便的工具支持。然而,有时在转换PDF时可能会遇到无法转换的问题。这个时候,可以看看是不是以下几个原因…

Java | ReentrantLock 锁和 synchronized 锁的区别和共同特点是什么?

ReentrantLock 和 synchronized 都是 Java 中的锁机制,主要用于实现线程间的互斥访问,确保线程安全。它们有一些共同点,也有各自的特性和区别。以下是二者的详细对比: 一、共同特点 可重入性:两者都是可重入锁&#x…

深度学习速通系列:超长法律文件隐私过滤(基于预训练模型Bert)

法律文件隐私过滤 网上使用bert的中文模型进行命名识别教程少的可怜,摸索了一周的时间,硬是把法律文书的人名全部识别出来了,目前可以达到98.9999%(开玩笑的,不过准确率保守估计是有90%以上).注意:这个法律文书目前只是针对裁决书,其他还没测试过,可支持超长文本识别 github仓…

小米面试题:多级缓存一致性问题怎么解决

前言 在现代分布式系统中,多级缓存架构因其能够显著提高系统性能和响应速度而被广泛应用。然而,多级缓存架构也带来了一致性问题,即不同层次的缓存之间数据不一致的情况。本文将从背景、功能点、优缺点、底层原理等方面详细介绍多级缓存一致…

Nodejs使用pkg打包为可执行文件

安装pkg npm install -g pkg查看pkg命令 pkg --help修改package.json 新增bin入口配置 {"name": "takescreenshot","version": "1.0.0","bin": "app.js", // 新增bin入口配置"scripts": {"t…

GPU 与 GPU 服务器:科技璀璨之星,开启无限未来

今天咱们要来聊聊在科技领域中闪闪发光的 GPU 和 GPU 服务器。这可真是一对厉害的 “科技搭档”,正以其卓越的性能成为众多行业发展的强大动力源。 先来说说 GPU 吧。它呀,一开始是为了满足图形处理的高要求而诞生的。但随着科技不断进步,人…