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

时间:2015-01-26 22:20:35

标签: javascript constructor yield co

我有一个使用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指出)。

1 个答案:

答案 0 :(得分:1)

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

此外,您的示例与koajs无关,您在这里明显使用co,这是另一回事。 Sinve版本4的co,你可以使用的电话co(...) gives you a promise