我在Coffeescript中有这段代码:
@update().success((company)=>
).error((company)=>
).finally((company)=>
)
我想知道是否可以更改以删除一些括号。像这样:
@update()
.success (company)=>
.error (company)=>
.finally (company)=>
但我总是得到SyntaxError: [stdin]:18:9: unexpected .
。知道我做错了吗?
感谢。
答案 0 :(得分:3)
仅仅因为你可以使用匿名函数并不意味着你必须这样做。将函数排除在外并给出它们的名称通常会使代码更清晰,更易于阅读,并且空白更少。
例如:
frobnicate_the_things = => # some pile of logic goes here
complain_about_the_problems = => # and another pile here
clean_up_the_mess = => # and yet another here
@update()
.success frobnicate_the_things
.error complain_about_the_problems
.finally clean_up_the_mess
当然我不知道你的回调实际上是做什么的,所以我不得不弥补一些愚蠢的名字,但这不是重点。关键是你有很好的自我记录代码,没有一堆摆弄语法和空格。
答案 1 :(得分:2)
如果你愿意忍受分号:
@update()
.success (company)=>;
.error (company)=>;
.finally (company)=>;
答案 2 :(得分:1)
只要您填写函数体,该语法就可以正常工作:
@update()
.success (company) => true
.error (company) => true
.finally (company) => true
否则你必须清楚地描述回调函数:
@update()
.success ((company) =>)
.error ((company) =>)
.finally ((company) =>)
但话说回来,你首先不会写一个空回调。
答案 3 :(得分:0)
你快到了,你只是忘了添加return
声明:
@update()
.success (company)=>
return
.error (company)=>
return
.finally (company)=>
return