js promise 风格编程

使用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();

转载于:https://www.cnblogs.com/juepei/p/4993170.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值