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

在线等,挺急的!双箭头函数。怎么理解

在线等,挺急的!双箭头函数。怎么理解

当年话下 2019-08-17 20:44:07
今天看到这段代码,双箭头函数,我该怎么理解这段代码?求大神指点下。我还看了这篇帖子,还是有些细节没弄明白。这个fn到底是怎么定义的?怎么就成了回调函数(我现在的理解:f'n就是回调函数)?consttasks=arr.map(c=>(fn)=>{returno.writer.publish('crawling_penalty_tasks',c,(e)=>{if(e){console.log('pubtaskserror',c)}else{console.log('pubtaskssuccess',c)}fn()})})
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

//对你对代码进行拆分
consttask=arr.map(c=>{
return(fn)=>{
returno.writer.publish('crawling_penalty_tasks',c,(e)=>{
//if(){}else{}这里省略...
fn();//执行fn
})
}
})
//task结构[fun1,fun2,...];也就是说task中都是一个个的可执行函数
//task中函数对结构
//例如:
letfun1=(fn)=>{
returno.writer.publish('crawling_penalty_tasks',c,(e)=>{
//if(){}else{}这里省略...
fn();//执行fn
})
}
//所以上面代码的执行流程如下:
//1.获取task内部的函数
letindex=0;//这个是角标
lett=task[index];//t-->function是一个函数
//执行t
letres=t(()=>{
//这个地方,就是上面fn的执行代码
})
//res-->o.writer.publish是这个函数的返回
                            
查看完整回答
反对 回复 2019-08-17
  • 2 回答
  • 0 关注
  • 275 浏览
慕课专栏
更多

添加回答

举报

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