概述
我正在将authorize.net付款合并到我的应用中。使用他们的sdk
他们以我不理解的方式导出函数。我正在寻找一些清晰度,所以我可以以最好的方式使用它。
我正在使用Angular 2
和node.js app
。
问题
从Angular2
到我正在制作http post
。此帖子将表单数据传递给node server
。一旦我在节点服务器中,我将数据放入数据库。但在该函数内部,我想将数据传递给来自SDK
的authorize.net函数。
示例
我发布的函数的最小版本。
功能1:
updateProfile: function(req, res) {
var id = req.body.id;
var email = req.body.email;
var first_name = req.body.first_name;
var middle_name = req.body.middle_name;
}
在名为merchant
的其他目录中,我有两个文件。一个文件包含在商家数据库中创建用户配置文件的功能。他们将保留cc号码,所以我不需要在我的服务器上。
功能2:
function createCustomerProfile(callback) {
// Stuff happens in here with the data from the first function
}
我需要将数据从第一个function
传递到第二个function
。在同一个目录中,它们有一个index.js
文件,可以像这样导出函数,
module.exports = {
createCustomerProfile: require('./create-customer-profile.js').createCustomerProfile
}
问题
将这些功能设置得像它们一样。如何从函数1调用函数2并将数据传递给它?他们将callback
放入parameters
。所以我想知道这是否意味着必须首先使用函数1作为callback
而不是我正在进行的方式调用它。
所以基本上我应该让http post
运行2.然后require
文件中带有database insert function
的文件?然后将function
1应用为callback
?
答案 0 :(得分:1)
功能1: -
var secondFn = require('path to index.js').createCustomerProfile
updateProfile: function(req, res) {
var id = req.body.id;
var email = req.body.email;
var first_name = req.body.first_name;
var middle_name = req.body.middle_name;
secondFn(req.body,function callback(response){
console.log('customer profile created' , response);
})
}
功能2: -
function createCustomerProfile(data,callback) {
// perform operation
var response = "custom data"
callback(response) //call upon completion
}
您还可以在回调函数中传递参数以检查是否存在任何错误