您现在的位置是:首页 > Javascript
当前栏目
[nodejs] nodejs开发个人博客(五)分配数据
2023-02-18 15:49:56 时间
使用回掉大坑进行取数据
能看明白的就看,看不明白的手动滑稽
/** * 首页控制器 */ var router=express.Router(); /*每页条数*/ var pageSize=5; router.get('/',function(req,res,next){ var currentPage=parseInt(req.params.page); var cid=0; var categoryModel=F.model("category"); var articleModel=F.model("article"); // 分类数据 categoryModel.getAllList(function(err,categoryList){ // 文章条数 articleModel.getCount(cid,function(err,nums){ // 文章分页 articleModel.getArticlePager(cid,currentPage,pageSize,function(err,articleList){ var nextPage=(currentPage+1)>=Math.ceil(nums[0].num/pageSize) ? Math.ceil(nums[0].num/pageSize) : currentPage+1; var prePage=(currentPage-1)<=0 ? 1 : currentPage-1; // 归档 articleModel.getArchives(function(err,allArticleTime){ var newArticleTime=[]; for(var i=0;i<allArticleTime.length;i++){ newArticleTime.push(F.phpDate("y年m月",allArticleTime[i].time)); } /*分配数据*/ var data={ categoryList:categoryList, articleList:articleList, cid:cid, nextPage:nextPage==0 ? 1 : nextPage, prePage:prePage, allArticleTime:newArticleTime, currentPage:currentPage }; /*渲染模板*/ res.render("home/index",data); }); }); }); }); //F.model("category").addCate({"name":"测试"}); //F.model("category").saveCate({"name":"测试1"},"id=4"); //F.model("category").delCate("id=4"); /*渲染模板*/ //res.render("home/index"); }); module.exports=router;
文章模型:
/** * 文章模型文件 */ module.exports={ /*获取条数*/ getCount:function(categoryId,callback){ var condition=""; if(categoryId!=0){ condition="where category_id="+categoryId; } var sql="select count(*) num from article "+condition; db.query(sql,callback); }, /*获取分页数据*/ getArticlePager:function(categoryId,currentPage,pageSize,callback){ if(currentPage<=0||!currentPage) currentPage=1; var start=(currentPage-1)*pageSize; var end=pageSize; var condition=""; if(categoryId!=0){ condition="where category_id="+categoryId; } var sql="select * from article "+condition+" order by time desc limit "+start+","+end; db.query(sql,callback); }, /*归档*/ getArchives:function(callback){ db.query("select time from article order by time desc",callback); } };
相关文章
- 前端科普系列(2):Node.js 换个角度看世界
- 探究JS V8引擎下的“数组”底层实现
- JavaScript 引擎 V8 执行流程概述
- 如何编写高质量的 JS 函数(4) --函数式编程[实战篇]
- 为什么 JavaScript 中 0.1+0.2 不等于 0.3 ?
- Javascript之旅——终点站:困惑的settimeout
- Javascript之旅——第十一站:原型也不好理解?
- Javascript之旅——第十站:为什么都说闭包难理解呢?
- Javascript之旅——第九站:吐槽function
- Javascript之旅——第八站:说说instanceof踩了一个坑
- Javascript之旅——第七站:说说js的调试
- Javascript之旅——第六站:看看writable特性
- Javascript之旅——第五站:说说那些所谓的包装类型
- Javascript之旅——第四站:parseInt中要注意的坑
- Javascript之旅——第三站:几个需要注意的运算符
- Javascript之旅——第二站:对象和数组
- Javascript之旅——第一站:从变量说起
- php返回json格式的{}花括号
- 如何编写高质量的 JS 函数(3) --函数式编程[理论篇]
- 如何编写高质量的 JS 函数(2) -- 命名/注释/鲁棒篇