CNode

能解读cnnode.org 内的site.js 这行代码的意思吗?

问答
Mmrlong发布于11 年前最后回复11 年前5 回复5325 浏览0 收藏
Topic.getTopicsByQuery(query, options, proxy.done('topics', function (**topics**) {
    return **topics**;
}));

本人现在用eventproxy, 中的 done方法, 不明白上面代码中的topics 是来源哪,还是用于返回给ep用的吗,还是从ep哪返回来的??

查看回复

回复 (5)

A
aisin#1·11 年前

查询出来的 topics 结果集

I
ipengyo#2·11 年前

done的效果就是在生成一个函数,那个函数 就接一个参数 然后把那个参数给返回来。(没传入回调的时候) 所以那个topics 就是 调用 getTopicsByQuery 的回调传入的

L
luoyjx#3·11 年前

topics是在查询到之后emit topics 事件时传递的参数

M
mrlong#4·11 年前
引用 ipengyodone的效果就是在生成一个函数,那个函数 就接一个参数 然后把那个参数给返回来。(没传入回调的时候) 所以那个topics 就是 调用 getTopicsByQuery 的回调传入的

@ipengyo

//前5条内容: Db.find(Db.TABLES.MARKDOWN,where, {skip:0, limit:5,sort:{"attr.indate":-1}},function(err,docs){ ep.done('deparse',function(docs){return docs}); });

是不是可以写成: Db.find(Db.TABLES.MARKDOWN,where, {skip:0, limit:5,sort:{"attr.indate":-1}},ep.done('deparse',function(docs){return docs}); );

L
leim#5·11 年前

Topic.getTopicsByQuery(query, options, function(err, topics){ if (err) { proxy.emit('error', err); } else { proxy.emit('topics', topics); } });

估计这样写就可以看明白了,具体可以参考朴大神的eventproxy文档,神奇的done。 https://www.npmjs.com/package/eventproxy#done

参与回复
登录后即可参与回复。登录