我认为在冰咖啡脚本中没有最佳方法,尽管该帖子有一些有趣的建议:Iced coffee script with multiple callbacks
我会坚持香草咖啡脚本:
这就是你的函数在咖啡脚本中的编写方式
fun = (success_cb, error_cb) ->
try
result = function_that_calculates_result()
success_cb result
catch e
error_cb e
以及如何在咖啡脚本中调用它
fun (result) ->
console.log result
, (error) ->
console.log error.message
如果您可以在咖啡脚本中以“errback”样式(err,result)重写 fun 函数,那将是:
fun = (callback) ->
try
result = function_that_calculates_result()
callback null, result
catch e
callback e
然后你会像在冰咖啡脚本中那样使用它
await fun defer error, result
if error
console.log error.message
else
console.log result