需要帮助! 我怎样才能获得co以外的数据?我不想在.then()中处理它们。
我有一些像这样的代码(ES6):
static class MyClass{
//get some data
static getMyData(){
co(function *() {
//get data by yield, the value is json data
let value = yield getSomeData();
return value;
});
}
}
现在我不想处理.then()中的数据,我只想获取价值。但如果我这样做:
var result = co(function *(){});
我得到的是承诺对象......
那么,我该如何获取json数据呢?感谢。答案 0 :(得分:0)
您可以尝试使用yield
执行此操作,如下所示:
try{
var result = yield co(function *(){});
}catch(e){
console.error(e);
}
但我认为你必须阅读更多关于异步代码的内容,我推荐Q promises。祝你好运。
答案 1 :(得分:0)
var result = co.wrap(function* (){
var list = yield.listNum();
return list;
})
result(true).then(function(value){
console.log(value);
})
我得到它。
答案 2 :(得分:0)
function getMyData()
return co(function *() {
let value = yield getSomeData();
return Promise.resolve(value);
});
}
var result = getMyData();
result.then(function(data) {
console.log(data); // the data is the value variable in function getMyData
})