Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何提取回调?_Javascript_Typescript - Fatal编程技术网

Javascript 如何提取回调?

Javascript 如何提取回调?,javascript,typescript,Javascript,Typescript,我有这段代码运行得很好,但我正在尝试最小化它,这样我就不必重复调用format函数两次 这就是我的代码的样子: if(date.indexOf('/') !== -1){ return format(new Date(date), formatType); } else { return format(toDate(date), formatType); } 正如您所看到的,我使用了两次返回格式(在if和else语句中),我试图避免使用规则DRY 这就是我所拥有的,但不起作用 l

我有这段代码运行得很好,但我正在尝试最小化它,这样我就不必重复调用format函数两次

这就是我的代码的样子:

if(date.indexOf('/') !== -1){
    return format(new Date(date), formatType);
}
else {
   return format(toDate(date), formatType);
}
正如您所看到的,我使用了两次返回格式(在if和else语句中),我试图避免使用规则DRY

这就是我所拥有的,但不起作用

let fn = (fn) => format(fn(date), formatType);
return date.indexOf('/') !== -1 ? fn(new Date) : fn(toDate);

有人能给我指出同一个方向吗?提前多谢

将条件运算符放入对
格式的调用中,交替使用第一个参数:

return format(
  date.includes('/') ? new Date(date) : toDate(date),
  formatType
);

谢谢你,伙计!