Javascript 理解回调函数jquery
我试图在函数中的ajax调用后返回一个值,但它始终返回未定义的值 我查了一下,了解了回调 我开始理解这个概念,但对我想用的方式处理它有点困惑 职能:Javascript 理解回调函数jquery,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图在函数中的ajax调用后返回一个值,但它始终返回未定义的值 我查了一下,了解了回调 我开始理解这个概念,但对我想用的方式处理它有点困惑 职能: function count_posts(post_type, callback) { var s_data = { count_posts: 1, post_type: post_type } $.post("actions.php", s_data, function(dat
function count_posts(post_type, callback) {
var s_data = {
count_posts: 1,
post_type: post_type
}
$.post("actions.php", s_data, function(data) {
var r = JSON.parse(data);
callback(r);
});
} // EO count_posts
称之为:
count_posts('all', function(count) { console.log(count); }); // 20 ( working )
以不同的方式处理:
console.log(count_posts('all', function(count) { return count; })); // undefined
目标:
如何以我想要的方式处理回调。函数不返回值。 回调称为异步 试着这样称呼它:
count_posts('all', function(count) {
$('#show_count').html(count);
});
这种回调的要点是,它们不知从何处被调用。。因此,您不会将其作为值返回到代码中。相反,在您的示例中,颠倒呼叫顺序:
count_posts('all', function(count) { $('#show_count').html(count); });
是的,这就是我最后做的。非常感谢。将在约7分钟内接受
count_posts('all', function(count) { $('#show_count').html(count); });