nodejs 异步优化

同步-阻塞式调用,等待执行

function waitFive(name,function_name){

var pus=0;

var currentDate=new Date();

while(pus<5000){

var now=new Date();

pus=now -currentDate;

}

function_name(name);

}

function echo(name){

console.log(name);

}

waitFive('fork',echo);


回调概念-回调是一个异步等效的功能。

1不直接返回执行结果

2通过函数的参数传递回调函数

3在回调函数中返回执行结果

var test=function(name,callback){

callback(name);

}

var callback=function(name){

echo 'call back';

return name;

}

test('fork',callback);

同步阻塞:

主干函数调用异步方法时,使用异步调用,由系统内核执行回调函数,此时主干执行其他操作,当回调函数执行完后

返回结果,此时由主干处理回调

function Person(){

this.think=function(callback){

setTimeout(function(){console.log('thinking!'),callback()},5000);

}

this.answer=function(){

console.log('I am answering other question');

}

}

var person=new Person();

person.think(function(){

console.log('thinking 2 seconds,get the right answer!');

})

person.answer();


缺点:

难以阅读

编码困难

调试复杂


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值