Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将回调函数中的字符串返回到node.js中的根函数?_Javascript_Node.js_Callback_Mongoose - Fatal编程技术网

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

Javascript 如何将回调函数中的字符串返回到node.js中的根函数?,javascript,node.js,callback,mongoose,Javascript,Node.js,Callback,Mongoose,当我试图读取add函数的返回值时,它什么也不返回。 而且,当我试图将消息放入变量并从外部返回时,也会给出空值。简单地说,您不能。要从此类函数中获取值,必须使用回调: function add(post) { var word = new KeyWord({ keyword: post.keyword}); word.save(function (err, word) { if(err) { if(err.c

当我试图读取add函数的返回值时,它什么也不返回。
而且,当我试图将消息放入变量并从外部返回时,也会给出空值。

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

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;
    });
}
然后使用如下函数:

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
}