【发布时间】:2014-07-24 13:52:32
【问题描述】:
我有一个ids 对象,它将id 字符串映射到product 对象。
for id of ids
product = ids[id]
console.log product # Prints out something different each loop. :)
Product.create(product).then ->
console.log product # Only prints out the last id each loop. :(
我正在使用一个用于数据库交互的库,它公开了 Promise(由上面的 then 函数表示)。我试图在then 函数中打印出product 变量,但我似乎只在ids 中获得了最后一个id,所以看起来这是一个范围问题。如何正确确定 product 变量的范围,以便它在每个循环的 then 函数中打印出不同的产品?
【问题讨论】:
-
@false 你从哪里得到
forEach? -
@false:但是coffeescript中没有答案吗?因为 CS 确实有一个特殊的句法元素,所以这很重要。
-
@Bergi:CoffeeScript 有一种调用函数的特殊语法……它并没有太不同。但是……这仍然是一个成语,不是吗?无论如何。
标签: javascript coffeescript scope promise lexical-scope