请教,在co中yield得到的数据,如何传出来,而不是在.then()中处理?
请教,在co中,通过yield方法得到的数据,如何不在.then()中处理,而是直接把数据传递出来?
现在我按照ES6语法,定义了一个class,类似于:
class MyClass{
//获取数据的方法
static getMyData(){
co(function *() {
//通过yield得到数据,数据是个json数组
let vaule = yield getSomeData();
return vaule;
});
}
}
现在我只知道 co后面可以接.then()来处理数据,但我需要把 数据 传出来,到别的地方用。 请问该怎么办? 多谢。
4 回复
static TypeScript ???
js的这样
MyClass.getMyData = co.wrap(function*(){
let vaule = yield getSomeData();
return vaule;
});
co() 本身也是 返回Promise的 记住 当generator.next() 返回 { done: true, value: xxx }后, 那么这个xxx就是这个Promise将resolve的值.
@magicdawn 原来co还能这样用,多谢。
@butaixianran co 有且仅有这两个啊