最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Need callback returns multiple values in nodejs - Stack Overflow

programmeradmin2浏览0评论

I want muliple values in my callback function

myfunction(i,function(err,result){
  console.log(JSON.parse(JSON.strigify(result)));   
 ****//i need value here..****


});
function myfunction(i,callback) {
/* my some stuff */
var callBackString= new Array();
                        callBackString['value1']=value1;
                        callBackString['value2']= value2;
                        callBackString['value3']= value3;
                        callback(null,callBackString);

};

I am returting callBackString as an array..,

Can anybody tell me how to do that

Thanks

I want muliple values in my callback function

myfunction(i,function(err,result){
  console.log(JSON.parse(JSON.strigify(result)));   
 ****//i need value here..****


});
function myfunction(i,callback) {
/* my some stuff */
var callBackString= new Array();
                        callBackString['value1']=value1;
                        callBackString['value2']= value2;
                        callBackString['value3']= value3;
                        callback(null,callBackString);

};

I am returting callBackString as an array..,

Can anybody tell me how to do that

Thanks

Share Improve this question asked Nov 3, 2014 at 9:28 soccer7soccer7 4,0253 gold badges32 silver badges53 bronze badges 4
  • And what is the problem? – Sirko Commented Nov 3, 2014 at 9:31
  • I am not able to get returned values – soccer7 Commented Nov 3, 2014 at 9:33
  • 2 Try to use var callBackString = {}. You are using your array like an object, so make it one. When you serialize the array with JSON.stringify() those non-array properties get lost. – Sirko Commented Nov 3, 2014 at 9:35
  • Typo at stringify? You omitted an n there. – nalply Commented Nov 3, 2014 at 10:23
Add a ment  | 

3 Answers 3

Reset to default 7

You should use an object instead:

function myfunction(i, callback) {
  var callBackString = {};
  callBackString.value1 = value1;
  callBackString.value2 = value2;
  callBackString.value3 = value3;
  callback(null, callBackString);
}

Then the receiving end:

myfunction(i, function(err, result) {
  var value1 = result.value1;
  var value2 = result.value2;
  var value3 = result.value3;

  console.log(JSON.parse(JSON.strigify(result)));   
});

The following should work:

function myfunction(i, callback) {
  // ...
  // Returns an Array
  return callback(null, [value1, value2, value3])
}

function myfunction2(i, callback) {
  // ...
  // Returns an Object
  return callback(null, {value1: value1, value2: value2, value3: value3})
}

Try this

Hope it works

myfunction(i,function(err,value1,value2,value3){
  console.log(JSON.parse(JSON.strigify(result)));   
 ****//i need value here..****


});


function myfunction(i,callback) {
/* my some stuff */
var callBackString= new Array();
                        callBackString['value1']=value1;
                        callBackString['value2']= value2;
                        callBackString['value3']= value3;
                        callback(null,value1,value2,value3);

};
发布评论

评论列表(0)

  1. 暂无评论