簡體   English   中英

在節點js中調用函數內部的函數

[英]Calling a function inside a function in node js

我想訪問 Node js 中的函數內的函數。 下面是我的 one.js:-

module.exports.user1 = ()=>{

    updateNewUser:(req,res,next)=>{
        console.log("User1")
    }

}
module.exports.user2 = ()=>{

    updateNewUser:(req,res,next)=>{
        console.log("User2")
    }

}

我在 two.js 中調用函數:-

var one = require('one.js');
console.log(one.user1.updateNewUser)

我想在 one.js 中訪問 updateNewUser。 任何幫助,將不勝感激。

module.exports = {
    user1: {
        updateNewUser: (req, res, next) => {
            console.log("User1")
        }
    },
    user2: {
        updateNewUser: (req, res, next) => {
            console.log("User2")
        }
    }
}

const one = require('./one.js')
one.user1.updateNewUser(<p1>, <p2>, <p3>)

https://stackblitz.com/edit/js-vrz6t8?file=one.js

我建議您將one.js更改為:

module.exports = {
    user1: (req, res, next) => {
        console.log("User1")
    },
    user2: (req, res, next) => {
        console.log("User2")
    }
};

two.js

let one = require('./one');

one.user1(); //Outputs: User1
one.user2(); //Outputs: User2

這更干凈,但如果你真的想要一個函數內部的函數,那么:

module.exports = {
    user1: () => {
        return (req, res, next) => { // Added return
            console.log("User1")
        }
    },
    user2: () => {
        return (req, res, next) => { // Added return
            console.log("User2")
        }
    }
};

注意:我添加了一個return關鍵字,以便我們可以訪問內部函數,這是您在one.js中缺少的一件事

你在two.js調用它:

let one = require('./one');

one.user1()(); //Outputs: User1
one.user2()(); //Outputs: User2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM