收益率是否需要返回一个值。蓝鸟Promise.coroutine

时间:2018-02-27 16:11:48

标签: javascript promise bluebird coroutine

我已阅读http://bluebirdjs.com/docs/api/promise.coroutine.html上的文档,但我觉得我误解了我应该yield的功能。

我得到Unhandled rejection TypeError: A value undefined was yielded that could not be treated as a promise

https://codepen.io/anon/pen/JpeVeP?editors=0012

根据文档中的一些示例,我应该能够创建Promise.coroutine然后yield多个函数。

const someOthFunc = id => {
  console.log(id, 'im in here');
};

const test = Promise.coroutine(function*(id) {
  console.log(id, '<<');
  yield someOthFunc(id);
});

test('123');

如果我产生一个函数,那么其他函数是否也需要是一个协程?

1 个答案:

答案 0 :(得分:0)

不,它不需要是一个协程。您的函数someOthFunc需要返回一个值。