创建回调函数的最佳方式

5
有没有比这更好的方法来创建一个回调函数,用于某些随机函数?
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 */

});

所以你的问题是是否有比将匿名函数传递给showObj更好的方法吗? - Felix Kling
你当前的实现有什么问题? - TJHeuvel
@Felix Kling,不,如果我的语法正确,那么函数是正常工作的(回调函数),如果我调用它,并且还有另一种方法将回调函数添加/定义到某个随机函数中。 - Roland
2
似乎你的问题更多关于如何“调用”回调函数,而不是如何“创建”它。 - Felix Kling
抱歉,如果我提问方式不对的话 :) 另外,我发现您一直在编辑帖子标题并删除 | 之前的内容,所以我不会再这样做了,以前不知道这是个问题 :) - Roland
显示剩余2条评论
2个回答

3
我想没有特定的“错误”或“不好”的方法来调用任何(回调)方法。你做得很好,还检查了一个函数。
我唯一的建议是,在那里不要使用.call()调用函数。除非你需要传递当前上下文,否则只需调用callback();。这是因为.call().apply()调用速度慢高达30%。

2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接