1

我的项目中有这样的代码:

co(function *asyncFn() {
    let browser = yield someAsyncOperation();
    return browser;
}).then(browser => browser.exit());

正如预期的那样,这不起作用,因为浏览器对象有 method then。我想知道是否有任何方法可以thenable从包装的生成器函数返回对象。(或者可能是其他一些库,而不是co用于包装支持这种情况的生成器)。

4

1 回答 1

0

co接受一个生成器并返回一个 Promise 返回函数,它不调用它。

const fn = co(function* asyncFn() { ... })

fn().then(() => browser.exit());
于 2017-01-14T16:18:09.337 回答