【发布时间】:2018-11-13 00:39:21
【问题描述】:
使用异步迭代来显示后端中某些资源的状态是一种好习惯吗?例如:
const item = driver.get(idOfDriver)
try {
for await (const { status } of item) {
console.log(status)
}
} catch (err) {
// do something here
} finally {
// the driver arrived in the final location
const { finalLocation, id } = item
console.log(`final location of driver ${id} is ${finalLocation`)
}
我正在做一些异步迭代不适合的事情?
提前致谢。
【问题讨论】:
-
那么
item是一个发出状态更新的无限迭代器?那么finally有什么用呢? -
@Bergi 不是无限的...当驱动程序到达该位置时,将存在新的属性(finalLocation 就是一个例子)。迭代器将存在以发出状态,直到状态!= 'COMPLETE'
-
除非您需要发出那些不完整的状态,否则我看不出迭代器有什么用处。只需对新属性使用一个简单的承诺
-
@Bergi 我需要在界面中显示当前状态
标签: javascript promise eventemitter