1
Livid MOD OP |
2
jybox 2014-05-06 09:00:30 +08:00 1
getCache = (name, setter, callback) ->
memcached.get name, (err, result) -> if result callback result else setter (result) -> memcached.set name, result, -> callback result |
3
jybox 2014-05-06 09:01:05 +08:00 1
|
4
ine181x 2014-05-06 09:05:31 +08:00 via iPhone 1
|
5
Xe0n0 2014-05-06 09:05:59 +08:00 1
|
6
refresh 2014-05-06 09:08:30 +08:00 1
async, Q, promise
|
7
vfasky 2014-05-06 09:08:48 +08:00 1
windjs 可以做到 python 的 yield http://windjs.org/cn/docs/async/method.html
但很多人不喜欢 eval, 其实 windjs 是可以像 coffee 一样预编译的。 但是 windc 一直没进度。 老赵可能放弃了。 可惜啊! ECMAScript 6 看来短期不会成熟 |
8
mytharcher 2014-05-06 09:09:13 +08:00 1
用Promise,async queue,或者直接ES6的yeild
|
9
mytharcher 2014-05-06 09:10:53 +08:00
不好意思,拼错了,是yield
|
10
chone 2014-05-06 09:13:30 +08:00 via Android
Promise A+ 应该是最适用的。
|
11
Xe0n0 2014-05-06 09:14:58 +08:00
如果使用 Promise,结果应该类似
http.get(url).then(function(data){ if (A in data) return data[A]; else reject("key A not exists"); }).then(JSON.parse).then(function(object){ ... }).catch(function(error_code){ ... }); 可以写成 chain 的形式,这里把可能的错误都 catch 了,如果不需要可以写得更短。 |
12
NemoAlex 2014-05-06 09:34:11 +08:00
没有什么好办法,用 callback 的形式就是这么憋屈,用 promise 好看一点,也没好到哪去
|
13
rannnn 2014-05-06 09:50:06 +08:00
我用 flow.js 完成后call this就会进行下一个function
flow.exec( function() { setTimeout(this, 200); },function() { setTimeout(this, 200); },function() { // done } ); |
14
est 2014-05-06 10:08:42 +08:00 1
|
15
WildCat 2014-05-06 10:21:36 +08:00 via iPhone
借贴提问,
Eventproxy, Async, Promise的用途是否类似? |
16
lloydsheng 2014-05-06 10:34:21 +08:00
消除callback最流行的方法 https://www.npmjs.org/package/q
|
18
luin 2014-05-06 10:39:57 +08:00
|
19
aisk 2014-05-06 10:56:30 +08:00
Iced Coffee拯救世界 http://maxtaco.github.io/coffee-script/
|
20
chemzqm 2014-05-06 11:05:09 +08:00 1
@vfasky 作者感受到 co https://github.com/visionmedia/co 的强大之后不再开发了,这是我见过最优雅的异步实现方式,没有 node 0.11 可以使用 regenerator https://github.com/facebook/regenerator
|
21
cfddream 2014-05-06 11:09:46 +08:00
楼上都把几种常用姿势说了,选择自己喜欢的、统一、好维护的风格。
|
22
bear 2014-05-06 11:18:59 +08:00
感觉Promise方式好像解决不了楼主的问题,它每次都会发出请求,而楼主是希望当内存里有,就不去请求,难道是我对Promise理解有误?
|
23
virushuo 2014-05-06 12:09:14 +08:00
callback或者 promise https://www.promisejs.org
|
24
cfddream 2014-05-06 13:31:11 +08:00
https://github.com/petkaantonov/bluebird 注重性能可以试试这个
|