为了账号安全,请及时绑定邮箱和手机立即绑定

回调函数求个简单的例子

回调函数求个简单的例子

啊啊啊啊123 2017-05-31 19:24:25
两个函数f1和f2,后者等待前者的执行结果。为什么不是f1任务代码在定时器外,让callback等1秒执行?求个简单的例子
查看完整描述

1 回答

?
李晓健

TA贡献1036条经验 获得超461个赞

你上面就是一个例子呀,那他个定时只是一个例子,在我们常用的环境中有很多操作都是异步的,比喻定时器,网络请求等等,就用网络请求来说,你的f1就是去请求的方法,f2是请求回来后的操作。如果把f1执行一下就立即执行f2,因为请求是异步的,所以f1的请求一发出去,f2就会开始执行,他是不管你f1是不是请求已经回来了。如果f1是去请求用户信息,f2是把用户信息显示到页面。就可能出现还没有f1还没有拿到信息,f2就开始去处理显示,自然就显示不出来。如果f2作为f1的回调,f1就可以控制f2的执行时机。f1就可以等请求回来以后再让f2执行,就不会有问题了。

查看完整回答
反对 回复 2017-06-01
  • 啊啊啊啊123
    啊啊啊啊123
    图上的f1任务代码和callback函数不是都在定时器内吗?这里不明白,不还是同步执行吗
  • 李晓健
    李晓健
    了解你的意思了,你是说那个注释写的任务代码呀,是的没错,是任务代码执行完了就立即执行f2。他这里的意思是整个f1里的所有代码都不阻碍f1后面的代码执行,包括任务代码
  • 啊啊啊啊123
    啊啊啊啊123
    function f1(callback) { var x = 0; setTimeout(function(){ x++; },1000); callback(x) } function f2(x) { alert(x); } 请问用回调函数的方式如何让f1(f2)弹出1?
点击展开后面3
  • 1 回答
  • 0 关注
  • 2012 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信