gpt4 book ai didi

javascript - 如何将 co 与命名函数一起使用?

转载 作者:行者123 更新时间:2023-12-03 07:32:18 25 4
gpt4 key购买 nike

所以我尝试使用 co 来包装返回 Promise 的 MongoDB 方法例如 http://mongodb.github.io/node-mongodb-native/2.0/reference/ecmascript6/crud/

我看到co的用法如下:

co(function*() {

这看起来像一个匿名函数。在代码主体中很好,但是有没有办法获取内部产生的值?例如,基本上获取 co 例程的结果:

如果我能做到:

let wrap = co(function* (collName) {
let res = yield collection.findOne({});
yield res;
});

然后其他地方

let res = wrap("Topics");

但我明白了

TypeError: wrap is not a function

也尝试过:

co(function* wrap(collName) {

...

co.call(this, wrap("Topics"));
let wrap = co.wrap(function* (collName) { ...

但还是没有运气。

最佳答案

我认为您正在寻找的是 co.wrap 函数。

let wrap = co.wrap(function* (collName) {
let res = yield collection.findOne({});
yield res;
});

然后你就可以按照你想要的方式使用它

let res = wrap("Topics");

关于javascript - 如何将 co 与命名函数一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com