猿问

双箭头函数怎么理解?

我在看这个代码的时候,我看到下面的双箭头函数:
constUser=require("../models").User
module.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)
})
}
有点看不懂这个双箭头函数,能够讲解下呢?我指的是单箭头函数可以看懂,但是这个单箭头函数是怎么回事呢?
智慧大石
浏览 619回答 2
2回答

www说

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)})}}}导出了一个函数

犯罪嫌疑人X

箭头函数的解释:functionName=function(){returnresult}可以简写为functionName=()=>result;functionName=function(parameter1,parameter2){returnresult}可以简写为functionName=(parameter1,parameter2)=>result;function(parameter1){returnresult};可以简写为parameter1=>result;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答