- 授权协议: BSD
- 开发语言: JavaScript
- 操作系统: 跨平台
- 软件首页: http://git.oschina.net/yogichung/ascs
- 软件文档: http://git.oschina.net/yogichung/ascs
软件介绍
Ascs == as C#,基于 Fiber 实现的类似于C# 的 async/await 的库,摆脱 callback 的痛苦。
Promise 大家都懂,但是在 JS 这个这么喜欢做轮子的领域里面不做一个好像对不起自己似的。
Ascs 很简单,就 3 个 API:
Ascs.env 相当于声明这是一个异步(async)的环境,在这里面 ascs 才有效
Ascs.conv 把一个常规的异步回调函数转换为 ascs 的异步函数,让你告别回调(callback必须要是最后一个参数)
Ascs.await 执行 ascsFunction 之后会返回一个 task,使用这个函数 ascs.await(task) 可以等待返回并且获取返回值
下面是一个简单的例子:
function delayToDo(a, b, cb) {
var result = a + b;
setTimeout(function() {
cb(result * result);
}, 1000);
}
var delayToDoAsync = ascs.conv(delayToDo);
ascs.env(function() {
// 一般写法
delayToDo(1, 2, function(r) {
console.log(r);
});
// ascs写法,等待返回
var result = ascs.await(delayToDoAsnc(1, 2));
console.log(result[0]); // 返回的是数组,相当于是回调函数参数
})();更多例子可以看 demo
常见问题:
浏览器能用吗?
做的时候没想过浏览器,我又不是前端。想前后端兼容的建议用wind.js啊
和ES6兼容吗?
可以看看commit的历史,其实曾经想过兼容,但是generator的yield的作用于并不能实现像Lua那种效果,所以还是放弃了。不过由于是基于Fiber实现,基本上node/iojs都可以用。
ES7 也有async await,这玩意还有用吗?
等ES7出来再算吧...ES6都还没全
还有什么要说?
ascs只是一种尝试,没有什么野心,就是走心,玩玩。另外,相比起实际项目,ascs更加适合用于制作library,可以很方便为你的库提供async/await风格的接口(使用ascs.conv转换一下就好),实际项目改造起来会需要一定工作。
风吹江南之互联网金融
陈宇(江南愤青) / 东方出版社 / 2014-6-1 / 55元
随着中国互联网金融浪潮高涨,P2P、众筹、余额宝、微信支付等新生事物层出不穷,加之大数据等时髦概念助阵,简直是乱花渐欲迷人眼,令媒体兴奋,公众狂热。那么,互联网金融真的能“颠覆”传统金融吗?当互联网思维对撞传统金融观念,是互联网金融的一统天下,还是传统金融业的自我革新?究竟是谁动了金融业的奶酪? 本书作者早期试水创立具有互联网金融雏形的网站,后来成为互联网金融的资深投资人,基于其多年在该领域......一起来看看 《风吹江南之互联网金融》 这本书的介绍吧!
