js promise 风格编程
2015-11-24 22:41
615 查看
使用q
这种方式,极大的避免了回调地狱的情况产生,以后打算长久用这种方式。再写Nodejs,再也不担心这个问题了。
以下实例,作为连接数据库的公共方法。
/** * Created by ThinkCat on 15/11/24. */ var mysql = require('./db/db'); var Q = require('q'); //var getConnection = function(){ // var deferred = Q.defer(); // mysql.MySqlDb.getConnection(function(err,connection){ // console.log('connection:',connection); // deferred.resolve(connection); // }); // return deferred.promise; //} // //var doQuery = function(connection){ // var deferred = Q.defer(); // connection.query('select * from user',function(err,rows){ // console.log('rows:',rows); // deferred.resolve(rows); // }); // return deferred.promise; //} var getConnection = function(){ var deferred = Q.defer(); deferred.resolve('this is a connection'); return deferred.promise; }; var doQuery = function(connection){ var deferred = Q.defer(); deferred.resolve(connection + ',select * from user'); return deferred.promise; }; function main(){ getConnection() .then(doQuery) .done( function(data){ console.log('final:',data); }, function(err){ console.log('error:',err); } ); } main();
相关文章推荐
- 正则总结:正则表达式在js中的高级应用
- js 容易忽略的小知识点
- html,JavaScript调用winfrom方法
- JS正则表达式+---贪婪和非贪婪模式学习总结
- JavaScript学习之路11_Generator
- 南大软院大神养成计划--第九天学习JS中
- jsp框架页面跳转问题
- 抛弃PHP,WordPress.com以JavaScript重写
- js正则表达式 .+?为什么要连用
- 【JavaScript】性能更好的js动画实现方式——requestAnimationFrame
- magento 中常见的js冲突
- JS获取文本在HTML中的真实长度
- 关于Javascript函数的一些思考(一)
- JavaScript DOM编程艺术学习笔记-第二章JavaScript语法
- 图解Javascript this指向什么?
- 如何将js中的值传到后台action中
- JavaScript Number数字类型
- JS封装缓动动画函数
- 用jsch.jar实现SFTP上传下载删除
- jsp内置对象作业1-用户登录