-1

给定一个允许不同用户发布不同文章的 RESTful Web 服务

为了GET在服务器端定义函数,我想在服务器端应该有异步函数,比如,list等函数getTopViewedgetTopFavorite

那么以下是正确的吗?

exports.get = function(req, res) {

    db.articles.list(function etc)
    db.articles.getTopViewed(function etc)
    db.articles.getTopFavorite(function etc)
}

注意:其中list,getTopViewedgetTopFavorite在另一个 JavaScript 文件中定义

在另一个 JS 文件中:

exports.list = function(callback){
  // acts as async callback 
  var result = ArticleModel.find({}, function(err, articles){
    callback(null, articles)                                                    
  });
  return result;
}
4

1 回答 1

0

我建议使用ConnectExpress之类的东西。它有一个路由器,使这更容易一些。设置和使用如下所示:

var express = require("express"),
    db = require('./yourdb.js');

var app = express.createServer();

app.configure(function(){
    app.use(app.router);
});

app.get("/articles/", function(req, res){
    db.list(function(err, articles){
       res.writeHead(200);
       // you probably want to do something more complex here
       res.end(JSON.stringify(articles));
    });
});

app.get("/articles/top", function(req, res){
    // res.end(<top articles go here>);
});

这是 Express 路由器文档的链接:应用程序路由

于 2012-11-12T20:17:14.123 回答