我们如何在Node.js中将字符串从回调函数返回到根函数?

问题描述 投票:4回答:1
function add(post)
{
    var word = new KeyWord({ keyword: post.keyword});    
    word.save(function (err, word) 
    {
        if(err)
        {
            if(err.code==11000)
                return post.keyword + ' is already added.';
        }
        else
            return 'Added : ' + post.keyword;
    });
}

[当我尝试读取add函数的返回值时,它什么也不返回。而且,当我尝试将消息放入变量并从外部返回时,也应提供null值。

javascript node.js callback mongoose
1个回答
9
投票

简单地说,您不能。要从此类函数获取值,必须使用回调:

function add(post, callback) {
  var word = new KeyWord({keyword: post.keyword});    
  word.save(function(err, word) {
    if (err) {
      if (err.code==11000) callback(post.keyword + ' is already added.');
      else callback('Added : ' + post.keyword);
    }
  });
}

然后您将使用如下功能:

add(post, function(result) {
  // return value is here
}
© www.soinside.com 2019 - 2024. All rights reserved.