【问题标题】:How can we return string from callback function to root function in node.js?我们如何将字符串从回调函数返回到 node.js 中的根函数?
【发布时间】:2026-01-06 13:15:01
【问题描述】:
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 函数的返回值时,它什么也不返回。
而且当我试图将消息放入变量并从外部返回时,也会给出空值。

【问题讨论】:

    标签: javascript node.js callback mongoose


    【解决方案1】:

    简单地说,你不能。要从这些函数中获取值,您必须使用回调:

    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
    }
    

    【讨论】: