能解读cnnode.org 内的site.js 这行代码的意思吗?
发布于 8 年前 作者 mrlong 4164 次浏览 来自 问答
Topic.getTopicsByQuery(query, options, proxy.done('topics', function (**topics**) {
    return **topics**;
}));

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

5 回复

查询出来的 topics 结果集

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

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

@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}); );

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

回到顶部