如何实例化构造函数使用 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。
我有一个使用 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。