我不太了解这段代码之间的区别:
co(function *() {
const val = yield aPromise();
return val;
})
.then((val) => doSomethingWith(val), (err) => doSomethingWith(err));
还有这个:
async function () {
try {
const val = await aPromise();
doSomethingWith(val);
} catch (err) {
doSomethingWith(err);
}
}
在浏览器或服务器(node.js)中使用的每个代码的优点/缺点(主要在性能、可读性和流量控制方面)是什么?为什么应该使用 co (取决于co 外部库)或 await (这是还不是 ES7 的一部分,并且依赖于babel-polyfill)被使用。