分解多种功能

时间:2016-02-18 15:08:02

标签: javascript refactoring

愚蠢的问题可能但是:

我如何分解这类代码?

files: [
  'https://js.stripe.com/v2',

基本上我想在使用方法之前检查一个东西是否为null。

  var rsc = this.checkRsc(path)
  if (rsc)

1 个答案:

答案 0 :(得分:2)

传递要执行的功能,如此

checkRsc: function(path, func, context) {
  var rsc = manager.get(path);
  if (rsc != undefined)
    return func.call(context, rsc);
  else
    return null;
},

然后像这样调用它

this.checkRsc(path, this.doStuff, this)
...
this.checkRsc(path, this.doStuffAnotherStuff, this)
...
this.checkRsc(path, this.andAgain, this)

注意:我建议传递上下文,因为如果你想在嵌套对象中执行一个函数,那就派上用场了。例如,

this.checkRsc(path, this.nested.again, this.nested)

现在,

    return func.call(context, rsc);

会像这样工作

    return [this.nested.again func obj (without context)].call(this.nested, rsc);