如何传递一个函数作为 Node.js 中另一个函数的回调?

码龙

我将db-conn.js我的存储db connection在 a 中function,然后将require其存储在create.js文件中call

我想要的是pass将其余代码作为callback它的一部分,以便首先将其connects发送到数据库,然后执行insertion.

由于我不太擅长回调,我不知道该怎么做。请你帮助我好吗?

所以这是 db-conn.js:

var mongo = {}
/**************************************************/
mongo.doConnection = (fcallback) => {
    mongo = require('mongodb').MongoClient
    global.db = null
    sDatabasePath = 'mongodb://localhost:27017/kea'
    global.mongoId = require('mongodb').ObjectID

    /**************************************************/
    mongo.connect(sDatabasePath, (err, db) => {
        if (err) {
            console.log('ERROR 003 -> Cannot connect to the database')
            return false
        }
        global.db = db
        console.log('OK 002 -> Connected to the database')
    })
}
/**************************************************/
module.exports = mongo

这是 create.js:

var mongo = require(__dirname + '/db-conn.js')
/**************************************************/
mongo.doConnection()// I am not sure what to do here 
createStudent = () => {
    var jStudent =
        {
            "firstName": "Sarah",
            "lastName": "Jepsen",
            "age": 27,
            "courses": [
                {
                    "courseName": "Web-development",
                    "teachers": [
                        {
                            "firstName": "Santiago",
                            "lastName": "Donoso"
                        }
                    ]
                },

                {
                    "courseName": "Databases",
                    "teachers": [
                        {
                            "firstName": "Dany",
                            "lastName": "Kallas"
                        },
                        {
                            "firstName": "Rune",
                            "lastName": "Lyng"
                        }
                    ]
                },
                {
                    "courseName": "Interface-Design",
                    "teachers": [
                        {
                            "firstName": "Roxana",
                            "lastName": "Stolniceanu"
                        }
                    ]
                }
            ]
        }
    global.db.collection('students').insertOne(jStudent, (err, result) => {
        if (err) {
            var jError = { "status": "error", "message": "ERROR -> create.js -> 001" }
            console.log(jError)
        }
        var jOk = { "status": "ok", "message": "create.js -> saved -> 000" }
        console.log(jOk)
        console.log(JSON.stringify(result))
    })
}
安德鲁·洛尔

在 db-conn.js 中完成连接后,您需要调用fcallback回调。

mongo.connect(sDatabasePath, (err, db) => {
    if (err) {
        console.log('ERROR 003 -> Cannot connect to the database')
        return fcallback(err, null);
    }
    global.db = db
    console.log('OK 002 -> Connected to the database')
    return fcallback(null, db);
})

然后在create js中你需要添加一个回调函数作为参数,mongo.doConnection(...)当连接完成时将调用该函数(调用fcallback)

使用此回调,您可以确保createStudent在连接完成时将被调用。

mongo.doConnection( (err, db) => {
    if(err){
      console.error("error connection to db: " + err;
      return;
    }
    createStudent = () => {
        var jStudent =
            { } ...

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从另一个函数调用一个函数-Node JS

来自分类Dev

如何将参数从一个异步函数传递到Node.js中的另一个函数?

来自分类常见问题

Node.js-从另一个Lambda函数中调用AWS.Lambda函数

来自分类Dev

使用node.js在javascript中的另一个文件中调用函数

来自分类Dev

使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

来自分类Dev

使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

来自分类Dev

在node.js中,如何从app.js中的另一个模块中的模块访问函数?

来自分类Dev

Node.js异步循环,下一个循环之前从函数进行回调

来自分类Dev

Node.js:来自一个函数的多个回调

来自分类Dev

Node.js异步循环,下一个循环之前从函数进行回调

来自分类Dev

使用Node.JS从一个函数向另一个函数返回值

来自分类Dev

TypeError [ERR_INVALID_CALLBACK]:回调必须是一个函数。在Node.js中收到未定义

来自分类Dev

在另一个函数中调用JS函数

来自分类Dev

如何将 Moongoose 方法中的错误处理回调函数导出到另一个 .js 文件中

来自分类Dev

AWS Lambda调用不调用另一个Lambda函数-Node.js

来自分类Dev

Node.js-从另一个函数/对象发出事件

来自分类Dev

如何将Js函数数组传递给另一个Js函数?

来自分类Dev

将变量从一个 JS 函数传递到另一个函数

来自分类Dev

如何从JS函数返回值并将其发送到Node js中的另一个JS脚本?

来自分类Dev

在node.js中从另一个模型引用一个模型

来自分类Dev

将函数作为方法附加到 JS 中的另一个函数

来自分类Dev

在另一个函数中传递函数值(Angular js)

来自分类Dev

将值从Firebase JS回调方法(DAL)返回到另一个函数(控制器)

来自分类Dev

Node.js:如何用一个库替换另一个库?

来自分类Dev

在node.js中调用一个函数

来自分类Dev

从node.js中的一个文件调用函数

来自分类Dev

覆盖另一个函数JS中的变量

来自分类Dev

Node.js 错误:Route.post() 需要一个回调函数,但得到了一个 [object Object]

来自分类Dev

Node.js异步系列-将参数传递给下一个回调

Related 相关文章

  1. 1

    如何从另一个函数调用一个函数-Node JS

  2. 2

    如何将参数从一个异步函数传递到Node.js中的另一个函数?

  3. 3

    Node.js-从另一个Lambda函数中调用AWS.Lambda函数

  4. 4

    使用node.js在javascript中的另一个文件中调用函数

  5. 5

    使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

  6. 6

    使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

  7. 7

    在node.js中,如何从app.js中的另一个模块中的模块访问函数?

  8. 8

    Node.js异步循环,下一个循环之前从函数进行回调

  9. 9

    Node.js:来自一个函数的多个回调

  10. 10

    Node.js异步循环,下一个循环之前从函数进行回调

  11. 11

    使用Node.JS从一个函数向另一个函数返回值

  12. 12

    TypeError [ERR_INVALID_CALLBACK]:回调必须是一个函数。在Node.js中收到未定义

  13. 13

    在另一个函数中调用JS函数

  14. 14

    如何将 Moongoose 方法中的错误处理回调函数导出到另一个 .js 文件中

  15. 15

    AWS Lambda调用不调用另一个Lambda函数-Node.js

  16. 16

    Node.js-从另一个函数/对象发出事件

  17. 17

    如何将Js函数数组传递给另一个Js函数?

  18. 18

    将变量从一个 JS 函数传递到另一个函数

  19. 19

    如何从JS函数返回值并将其发送到Node js中的另一个JS脚本?

  20. 20

    在node.js中从另一个模型引用一个模型

  21. 21

    将函数作为方法附加到 JS 中的另一个函数

  22. 22

    在另一个函数中传递函数值(Angular js)

  23. 23

    将值从Firebase JS回调方法(DAL)返回到另一个函数(控制器)

  24. 24

    Node.js:如何用一个库替换另一个库?

  25. 25

    在node.js中调用一个函数

  26. 26

    从node.js中的一个文件调用函数

  27. 27

    覆盖另一个函数JS中的变量

  28. 28

    Node.js 错误:Route.post() 需要一个回调函数,但得到了一个 [object Object]

  29. 29

    Node.js异步系列-将参数传递给下一个回调

热门标签

归档