如何实例化构造函数使用 yield 的对象?

How to instantiate an object whose constructor uses yield?

我有一个使用 yield 语句的辅助构造函数:

var co = require('co');

var Helper = co(function* () {
    var response = yield foo();
})
module.exports.Helper = Helper;

我想实例化它:

var Helper = require('./helper.js').Helper;
var helper = new yield Helper();  // TypeError

但我收到以下错误:TypeError: You may only yield a function, promise, generator, array, or object, but the following was passed: "[object Object]"

关于如何正确实例化它的任何想法?


编辑

删除了对 koa 的引用,因为我使用的是 co(正如 vanthome 所指出的)。

在这里对生成器函数使用 new 运算符没有意义。运算符。

此外,您的示例与此处的 koajs, you are plainly using co 无关,这是另一回事。 Sinve 版本 4 的 co,您可以使用的调用 co(...) gives you a promise