node.js-setTimeout的运行机制与回调函数

setTimeout的运行机制与回调函数

console.log(1);
setTimeout(function(){
	console.log(2)
},0)    / /即便这个setTimeout的执行时间为0,还是放在最后执行;
console.log(3)
//执行顺序为:123

在这里插入图片描述

例二:

function add(x,y){
	console.log(1);
setTimeout(function(){
	console.log(2)
	var ret=x+y
	return ret
},1000)   
	console.log(3)
 / /到这里执行就结束了,不会等到前面的定时器,所以直接就返回了默认值undefined
}
console.log(add(10,20)) //输出为undefined

注意:凡是需要得到一个函数内部异步操作的结果:setTimeout、readFile、writeFile、ajax;这种情况必须通过回调函数

如下:

function add(x,y,callback){
	console.log(1);
setTimeout(function(){
	console.log(2)
	var ret=x+y
	callback(ret)
},1000)   
	console.log(3)
}
add(10,20,function(ret){
	console.log(ret)  //输出30
})

在这里插入图片描述
封装ajax的方法:

function get (url,callback){
	var oReq= new XMLHttpRequest();
	//当请求加载成功之后要调用指定的函数
	oReq.onload=function(){
	//现在需要得到这里的oReq.responseText
		callback(oReq.responseText)
	}
	oReq.open('get',true)
	oReq.send()
}
get ('data.json',function(data){
	console.log(data)
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值