【发布时间】:2019-09-29 01:05:09
【问题描述】:
大家好,我从 nodejs 开始,我想我理解 module.exports 是如何工作的,但是当在 index.js 启动文件中要求并使用它之后在另一个文件中使用相同的函数时,我首先得到的是不是一个函数。我看到很少有类似的答案,但代码更复杂,我没有明白这就是为什么我在这里这么简单地问它的原因。让我更详细地解释一下,如果太基本,请见谅。
我运行 npm start 并从 index.js 文件开始
索引.js
const { first } = require("./first");
first();
First.js
const { second } = require("./second");
function first(){
return second();
}
module.exports = {
first
}
Second.js
const { first } = require("./first");
function second(){
return new Promise((resolve, reject)=>{
setTimeout(()=>resolve(), 1500)
})
.then(()=> {
first()
})
.catch(err => {
// Here's the first is not a function
console.log("Error here!!: ", err)
})
}
module.exports = {
second
}
在 second.js 文件的 catch 中抛出错误。上面写着:Error here!!: TypeError: first is not a function
【问题讨论】:
-
究竟是什么错误,它是在哪里抛出的?
-
欢迎亚历克斯!了解您遇到的错误会很有帮助。您能否将错误作为问题的一部分发布,以便我们知道确切的错误以及引发错误的位置。信息越多越好。
-
第二个.js文件的catch中抛出错误。它说:此处出错!:TypeError:首先不是函数
-
你为什么要做循环引用?
-
因为我想再次执行第一个函数,直到基于 second.js 文件的某个条件
标签: javascript node.js