JacksonTian/eventproxy — pull request #25 by dead-horse (2013-05-20 15:25:21+00:00)
Title: Emit later, 支持emit异步触发

使用中经常碰到的情况是，不能确认依赖的接口就是异步的，或者是可能其在之后的修改导致不是异步的，所以要这样写，读代码的时候要倒过来

```js
var proxy = EventProxy.create();
proxy.fail(function (err) {
//do something
});
proxy.once('getPic', function (data) {
//do something
proxy.emit('genPic');
});
proxy.once('genPic', function (data) {
//do something
proxy.emit('got', url);
});
proxy.once('got', function (url) {
res.jsonp({
success: true,
url: url
}, jsonpCallback);
});
Thanks.getPic(id, proxy.done('getPic'));
```

如果支持异步的`emit`，就可以把逻辑顺序写了

```js
var proxy = EventProxy.create();
//异步调用emit
Thanks.getPic(id, proxy.doneLater('getPic'));
proxy.once('getPic', function (data) {
//do something
proxy.emit('genPic');
});
proxy.once('genPic', function (data) {
//do something
proxy.emit('got', url);
});
proxy.once('got', function (url) {
res.jsonp({
success: true,
url: url
}, jsonpCallback);
});
proxy.fail(function (err) {
//do something
});
```