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

Posted

技术标签:

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于我们如何将字符串从回调函数返回到 node.js 中的根函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何从回调函数中修改全局变量。在 node.js 中

Node.js 回调函数

node js 回调函数

Node.js 回调函数

Node.js 回调函数

Node.js 从函数返回一个承诺