【发布时间】:2019-03-25 17:08:07
【问题描述】:
我有以下代码:
object = {
getPastEvents: () => Promise.resolve([1,2,3])
}
function* fetchPastEvents() {
const values = yield object.getPastEvents()
console.log(values)
}
const events = fetchPastEvents()
events.next()
events.next()
现在我想知道如何创建一个函数getPastEvents,它返回一个定义的values。现在,values 是 undefined。我认为 yield 可以解决像 async await 这样的承诺。
【问题讨论】:
-
为什么不使用
const values = yield (await object.getPastEvents())? -
假设 fetchPastEvents 是一个不能异步的 redux-saga。在我的用例中,我不在异步函数中。在任何情况下,您的建议都不会在我的示例中定义
values。 -
不,
yield关键字与 Promise 无关。它按原样产生价值。如果您正在寻找什么,为什么不直接使用async/await?
标签: javascript ecmascript-6 yield