nodejs代码封装基础

以加法为例

--return类型

return.js文件:

  var obj = {};  
  obj.sum = function(a, b){  
    var sum = a+b;  
    return sum;  
  }  
  module.exports = obj;  

--callback类型

callback.js文件:

  var obj = {};  
  obj.sum = function(a, b ,callback){  
    var sum = a+b;  
    callback(null,sum)  
  }  
  module.exports = obj;  

--测试

test.js文件:

  var returns  = require('./return.js');  
  var callback = require('./callback.js');  

  //return  
  var sum = returns.sum(3, 5);  
  console.log('return sum :', sum);  

  //callback  
  callback.sum(3, 5, function(err,result){  
    console.log('callback sum :',result);  
  })  

结果

image

总结

return这种封装一般都是处理字符串,日期什么的.

nodejs本身是异步的,所以大部分封装都会用callback这种类型,比如查询数据库封装等.

-- Promise风格

promise.js

  var Promise = require('bluebird')  
  var obj = {};    
  obj.sum = function(a, b){    
    var sum = a+b;   
    return new Promise(function(resolve, reject) {  

      if (sum < 100) {  
      //成功操作,对应 then方法  
      resolve(sum)  
      }  
      else {  
      //失败操作,对应catch方法  
      reject('总和不能大于100')  
    }  
  })   

 }    
  module.exports = obj;   

测试

  var promise = require('./promise');  

  promise.sum(10,3).then(function(sum){  
    console.log('sum :',sum);  
  }).catch(function(err){  
    console.log('err :',err);  
  })  

小于100就打印值,大于100就提示错误.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容