创建回调函数的最佳方法

时间:2012-01-15 10:33:05

标签: javascript function callback

是否有更好的方法为某些随机函数创建回调函数?

var showObj = function(obj,callback) {
    return setTimeout(function () {
        if(opts.centerObj == true) {
            var cssProps = getProps(obj);
            obj.css(cssProps).fadeIn('slow');
        }
            else {
                obj.fadeIn('slow');
            }
        if(typeof callback == 'function') {
            callback.call(this);
        }
    }, 1500);
}

当我使用它时,回调函数没有任何参数,我只这样做:

showObj(obj,function(){

/* Some Callback Function */

});

2 个答案:

答案 0 :(得分:3)

我想没有特别的“坏”或“错误”方式来调用任何(回调)方法。你在那里做得很好,还要检查一个功能。

我唯一的建议就是那里,而不是用.call()来调用函数。除非你需要传递当前上下文,否则只需调用callback();。也就是说,因为.call().apply()调用的速度降低了30%。

答案 1 :(得分:2)

这是我看到的最完整的回调函数之一。所以答案是否定的,这是最好的之一。