Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在NodeJS中处理此问题_Node.js_Kinvey - Fatal编程技术网

Node.js 如何在NodeJS中处理此问题

Node.js 如何在NodeJS中处理此问题,node.js,kinvey,Node.js,Kinvey,目前我正在这样做: 文件名:userOrder.js const paymentGateway = require('./paymentGateway'); module.exports = { save: function() { // save user order record return paymentGateway.makePayment(); }, update

目前我正在这样做:

文件名:userOrder.js

const paymentGateway = require('./paymentGateway');

module.exports = {

        save: function() {

            // save user order record  
            return paymentGateway.makePayment();      

        },

        update: function() {

            // update user order record

        }

}
文件名:paymentGateway.js

const payment = require('./payment');

module.exports = {

    makePayment: function() {

        // make payment
        return payment.save();

    }

}
文件名:payment.js

const userOrder = require('./userOrder');

module.exports = {

        save: function() {

            // save payment record
            return userOrder.update();

        }

}
返回userOrder.update();->此行给出一个错误“类型错误:userOrder.update不是一个函数”

请尝试:

module.exports = {

    module.save = function() {

        // save user order record  
        return payment.save();      

    },

    module.update = function() {

        // update user order record

    }

    return module;
}

这是因为您在
payment.js
userOrder.js
之间使用循环引用。您可以通过为
模块指定一个值来解决此问题。在调用
require
之前导出
,如下所示:

userOrder.js

const userOrder = function() { };

module.exports = userOrder;

const paymentGateway = require('./paymentGateway');

userOrder.save = function() {
    // save user order record  
    return paymentGateway.makePayment(); 
}

userOrder.update = function() {
    // update user order record
}
const payment = function() {};

module.exports = payment;

const userOrder = require('./userOrder');

payment.save = function() {
    // save payment record
    return userOrder.update();
}
payment.js

const userOrder = function() { };

module.exports = userOrder;

const paymentGateway = require('./paymentGateway');

userOrder.save = function() {
    // save user order record  
    return paymentGateway.makePayment(); 
}

userOrder.update = function() {
    // update user order record
}
const payment = function() {};

module.exports = payment;

const userOrder = require('./userOrder');

payment.save = function() {
    // save payment record
    return userOrder.update();
}

无需更改
paymentGateway.js
,因为这不是循环
require
的一部分

其他代码只用于保存记录,没有其他代码。好的,让我试试,我还更新了问题。。谢谢你。我将更新我的答案以匹配更新的问题。@HirenMakwana没问题:)