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值。
答案 0 :(得分: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
});