【发布时间】:2014-06-23 14:27:56
【问题描述】:
我有一个函数build,它同步返回一个对象,该对象又包含一个函数run。此函数返回一个 thunk,因此可以使用 yield 和诸如 co 之类的库来调用。
调用基本上是这样的:
yield build().run();
现在,问题是我想确保yield 指的是run,而不是build。我该如何做到这一点,而不像下面的 sn-p 那样引入临时变量?
var temp = build();
yield temp.run();
有什么想法吗?
PS:我正在使用 ´--harmony´ 标志在 Node.js 0.11.x 上运行此代码。
【问题讨论】:
-
Little 的优先级高于会员操作员和呼叫操作员,因此您很安全。这是您的参考MDN Operator Precedence。
yield离那里很远。您是否遇到无法按预期工作的问题? -
好吧,我想知道如何将此与我想使用
yield调用build的情况区分开来,以防这是thunkified 函数。那会是(yield build()).run()吗? -
是的,在这种情况下您需要显式分组。
-
太棒了:-))。感谢您的提示,这对我很有帮助。如果你把你的 cmets 变成答案,我会接受的。
标签: javascript node.js yield ecmascript-harmony ecmascript-6