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

双箭头函数怎么理解?

双箭头函数怎么理解?

智慧大石 2019-05-22 21:19:53
我在看这个代码的时候,我看到下面的双箭头函数:constUser=require("../models").Usermodule.exports=(socket,io)=>({from,friendId})=>{Promise.all([User.update({_id:from},{$addToSet:{friends:friendId}}),User.update({_id:friendId},{$addToSet:{friends:from}})]).then(()=>{io.sockets.emit('addFriend',{friendId})}).catch(err=>{socket.emit('addFriend',err)})}有点看不懂这个双箭头函数,能够讲解下呢?我指的是单箭头函数可以看懂,但是这个单箭头函数是怎么回事呢?
查看完整描述

2 回答

?
www说

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

module.exports=function(socket,io){
returnfunction({from,friendId}){
return{
Promise.all([
User.update({_id:from},{$addToSet:{friends:friendId}}),
User.update({_id:friendId},{$addToSet:{friends:from}})
])
.then(()=>{
io.sockets.emit('addFriend',{friendId})
})
.catch(err=>{
socket.emit('addFriend',err)
})
}
}
}
导出了一个函数
                            
查看完整回答
反对 回复 2019-05-22
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

箭头函数的解释:
functionName=function(){returnresult}
可以简写为
functionName=()=>result;
functionName=function(parameter1,parameter2){returnresult}
可以简写为
functionName=(parameter1,parameter2)=>result;
function(parameter1){returnresult};
可以简写为
parameter1=>result;
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 618 浏览
慕课专栏
更多

添加回答

举报

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