x.call => super 无法编译,因为我无法从匿名类中调用super。但是我的 目的是为“a”调用父类(supe-6ren">
gpt4 book ai didi

coffeescript - 如何从coffeescript中的回调调用 "super"

转载 作者:行者123 更新时间:2023-12-04 03:07:05 25 4
gpt4 key购买 nike

class Foo
a: ->
x.call =>
super

无法编译,因为我无法从匿名类中调用super。但是我的
目的是为“a”调用父类(super class)方法。这是失踪吗
咖啡文字能力?

请注意,我将代码更改为
class Foo
a: ->
x.call =>
return Foo.__super__.a.apply(this, arguments)

使它起作用,但这只是不正确的脚本!

最佳答案

恐怕您建议的写出Foo.__super__.a.apply(this, arguments)的解决方案基本上与您将得到的一样好。 CoffeeScript允许您编写类似

a = ->
b = ->
super

(在这种情况下, super指向 b的 super 功能),因此在其中包含 super会有些困惑
a: ->
x =>
super

指向 a的 super 功能。您可能会提出一个问题,要求允许这样做。从编译的角度来看,它并不是模棱两可的,只是看起来有些古怪。

您可以尝试使它更加优雅一些:
class Foo
constructor: ->
@sup = Foo.__super__

a: ->
x =>
@sup.a.apply this, arguments

关于coffeescript - 如何从coffeescript中的回调调用 "super",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6503882/

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