Node.js RESTful API中如何在方法内部调用另一个方法
在Node.js对象方法中调用另一个方法的解决方案
嘿,刚接触Node.js的话这种问题太常见啦,别担心,很容易解决~
在你定义的这个对象里,test2方法可以通过this关键字来调用同一个对象里的test1方法,因为this在方法调用时会指向当前的对象实例。修改后的代码如下:
var myFunction = { test1: function(){ console.log("执行test1逻辑"); // 你的业务代码 }, test2: function(){ // 调用test1方法 this.test1(); // 你的其他业务代码 console.log("执行test2逻辑"); } }; module.exports = myFunction;
小提醒:
- 如果你把
test2方法单独抽出来调用(比如赋值给其他变量后执行),this的指向可能会发生变化,导致找不到test1。但如果是正常通过导出后的对象调用myFunction.test2(),this会正确指向myFunction对象,完全没问题。 - 要是你以后改用ES6箭头函数定义方法,
this会绑定到外层作用域,这时候就不能用this来调用同对象的方法了,不过你现在用的是普通函数,上面的方案完全适用。
举个实际使用的例子,在另一个文件中:
const myFunc = require('./你的文件名.js'); myFunc.test2(); // 会先输出"执行test1逻辑",再输出"执行test2逻辑"
内容的提问来源于stack exchange,提问作者Lll ll
相关产品推荐
相关产品推荐

