gpt4 book ai didi

javascript - 等待延迟构造函数,异步构造函数

转载 作者:行者123 更新时间:2023-11-30 17:43:59 25 4
gpt4 key购买 nike

是否可以在冰 CoffeeScript 中创建异步构造函数:

class Animal
constructor: (autocb) ->
#some async action here

然后这样调用它:

await new Animal, defer(animal)

当我尝试这样做时,出现错误:

unexpected ,

最佳答案

在 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?

所以回答你的问题:是的,可以在冰 CoffeeScript 中创建一个异步构造函数。与所有异步函数一样,最后一个参数必须始终是 defer 生成的回调函数。

下次当编译器说 unexpected , 时,只需删除逗号。就这么简单。

关于javascript - 等待延迟构造函数,异步构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com