Javascript 从另一个文件请求后未定义module.exports函数

Javascript 从另一个文件请求后未定义module.exports函数,javascript,node.js,Javascript,Node.js,大家好,我是从nodejs开始的,我想我了解module.exports是如何工作的,但是当在另一个文件中使用相同的函数时,在index.js启动文件中需要并使用它之后,我得到的第一个不是函数。我看到了一些类似的答案,但是有更复杂的代码,我没有理解这一点,这就是为什么我在这里问它这么简单。让我更详细地解释一下,如果太简单,我很抱歉 我运行npm start并从index.js文件开始 Index.js const{first}=require(“./first”); 第一个()试试这种方法 i

大家好,我是从nodejs开始的,我想我了解module.exports是如何工作的,但是当在另一个文件中使用相同的函数时,在index.js启动文件中需要并使用它之后,我得到的第一个不是函数。我看到了一些类似的答案,但是有更复杂的代码,我没有理解这一点,这就是为什么我在这里问它这么简单。让我更详细地解释一下,如果太简单,我很抱歉

我运行npm start并从index.js文件开始

Index.js

const{first}=require(“./first”);
第一个()试试这种方法

index.js

first.js

second.js


这对我很有用,你需要在second.js中添加另一个anonnymus函数


.然后((好)=>{
()=>first()}.catch(err=>{console.log(err)})
}

这是您的代码应该喜欢的

function second(){
return new Promise((res,rej)=>{
    setTimeout(()=>{res(),1500})})
    .then(()=>{()=>first()})
    .catch(err=>{console.log(err)})}

错误到底是什么?它被扔到哪里了?欢迎Alex!了解您所遇到的错误会很有帮助。你能把错误作为问题的一部分发布出来吗,这样我们就知道确切的错误,以及它被抛出的位置。信息越多越好。错误被抛出到第二个.js文件的catch中。上面写着:这里出错!!:TypeError:first不是一个函数为什么要执行循环引用?因为我想再次执行第一个函数,直到第二个.js fileNo中的某个条件出现为止。我得到了意外的令牌导出。您所说的导出来自react,对nodejs无效backend@alex很抱歉给您带来不便,我已经编辑了我的代码,请检查我是否根据您的答案使其工作,而不是在second.js中调用first(),它应该是first.first()。请更新它,以便我可以在以后验证它。THnks
const  second  = require("./second");

module.exports.first=function(){
    /* logic or code */
    return second.second();
}
const  first  = require("./first");

module.exports.second=function(){ 
    return new Promise((resolve, reject)=>{
        setTimeout(()=>resolve(), 1500)
    })
    .then(()=> {
        first.first()
    })
    .catch(err => {
        // Here's the first is not a function
        console.log("Error here!!: ", err)
    })
}
function second(){
return new Promise((res,rej)=>{
    setTimeout(()=>{res(),1500})})
    .then(()=>{()=>first()})
    .catch(err=>{console.log(err)})}