我有一个执行后端调用并获取名称数组的函数。功能就是这样。
module.exports.getTxnList = function(index, callback) {
....some operations
.....
....
callback(null, response);
};
我还有一个功能,我想调用此函数并获取此列表。 这两个函数都位于同一个文件中。
另一个功能是这样的。
module.exports.getTxnAvailability = function(index, lid, callback) {
...
...
...
};
我尝试了很多东西,但我没有从前一个函数中获取数据。
这就是我试图做的事情。
var that = this;
that.getTxnList(index, function(response){
// Here you have access to your variable
console.log("List: " + response);
})
这个
var txnList=this.getTxnList(index);
任何帮助将不胜感激。
答案 0 :(得分:1)
遗憾的是,由于异步行为,您无法执行此nodejs:
var txnList = this.getTxnList(index);
这样做:
//name the function for local use
var getTxnList = module.exports.getTxnList = function (index, callback) {
... }
module.exports.getTxnAvailability = function(index, lid, callback) {
getTxnList(index, function(err, response){
//here you have access to your variable
//rest of your logic will be written here
var txnList = response;
});
};
Reference: to understand how async code works
Reference: to understand what is callback hell and how to solve it
答案 1 :(得分:-1)
您应该可以在第二个函数中调用第一个函数,如
module.exports.getTxnAvailability = function(index, lid, callback) {
module.exports.getTxnList(index, function(err, data) {
console.log(data);
});
};