在 CoffeeScript 中,逗号用作参数的分隔符。例如:
add 2, 3
您可以选择在参数周围加上括号以使其更明确:
add(2, 3)
但是你不能在函数和参数之间加逗号:
add, 2, 3 # not allowed
add(, 2, 3) # can you see your mistake?
构造函数也是如此:
new Animal defer(animal) # this is ok
new Animal(defer(animal)) # defer(animal) is just an argument
但是你不能在new Animal 和第一个参数之间加逗号:
new Animal, defer(animal) # not allowed
new Animal(, defer(animal)) # can you see your mistake?
await 也是如此:
await new Animal defer(animal) # this is ok
await new Animal(defer(animal)) # again defer(animal) is just an argument
但是你不能在函数和第一个参数之间加逗号:
await new Animal, defer(animal) # not allowed
await new Animal(, defer(animal)) # can you see your mistake?
所以回答你的问题:是的,可以在冰咖啡脚本中创建一个异步构造函数。与所有异步函数一样,最后一个参数必须始终是由defer 生成的回调函数。
下次当编译器说unexpected , 时,只需删除逗号即可。就这么简单。