您的位置:首页 > Web前端 > JavaScript

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: