JS各种语法

扩展封装对象

http.request=(function(_request){
    return function(options,callback){var req=_request(options,function(res){
        });
        req.on('timeout',function(){
            req.end();
        });return req;
    };
})(http.request);

调用一个函数 (function(){})() 参数为request
这个函数返回一个匿名函数
再这个匿名函数里 对request进行了修改和功能扩展
可以通过 http.request( {} ,func) 获取原对象
不晓得这样理解对不对!!

 依赖异步返回值 

PHP是同步的 依赖函数返回值很简单

function funcName()
{
  return ???; }
function func2() { } func2( funcName() );

 JavaScript 是异步的 不能按照以前是思维

function dataHandling(data, xx,xx,xx,.....)  // 依赖于数据库查询结果 和 其他数据
{

}
function getData(callback)
{
      db.query(sql,function(error,results,fields){  // 获取查询结果是异步的
            callback(results);
      })  
} 
getData(function(results){
    dataHanding(results, xx,xx,xx,.....);  
});

 循环遇见异步

// 同步时的做法
while{
  db.query('INSERT INTO ....')   // 因为是异步 此时并没有真正插入到数据库 
}

// 异步时做法
function insert()
{
    db.query('INSERT INTO ....', function(){
          insert();   // 确保真正插入数据库后 再次循环
    })  
}
原文地址:https://www.cnblogs.com/cgjcgs/p/7132668.html