我试图弄清楚如何通过yield可能与“ co” 一起获得承诺的价值:
yield
function *(){ var someVar = yield functionThatReturnsAPromise(); }
调用的函数不是生成器,而是普通函数。有了上面的,someVar == Promise但是我想要解析的值。是否合作或其他一些库有这样做的方法吗?
someVar == Promise
是的, 公司 可以做到。您必须在co调用中包装父函数:
co
co(function *(){ var someVar = yield functionThatReturnsAPromise(); })()
someVar内在将成为解决价值。如果承诺被拒绝,则可以通过基本try {} catch (e) {}声明来纠正错误。
someVar
try {} catch (e) {}