【发布时间】:2020-11-22 11:49:31
【问题描述】:
我有一个如下所示的代码块,它是一个同步功能。
我想在reply收集物品信息。
但是,即使我有项目,回复也总是作为空数组返回。
当我签入调试器时,信息将reply 显示为闭包变量,而不是local。
我想知道这里的吊装是否有什么我不明白的地方?
invStatus() {
let reply: string[] = []
Logger.log('player.status.items:', this.items)
if (!this.items.length) {
reply.push('nothing')
} else this.items.map(item => {
Logger.log('item', item)
reply.push[`- ${item.name}`]
})
Logger.log('player.status.reply:', reply)
return reply
}
嗯,这也是打字稿,我想知道转译器的行为是否有细微的不同?
我可能应该在这里使用.forEach,因为我没有捕获地图的返回或转换事物,但我知道它具有相同的迭代器行为。唯一的另一件事是使用更可靠的for x of,但我想了解这里的问题!
【问题讨论】:
标签: javascript typescript asynchronous iterator closures