在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 雙箭頭函數(shù)怎么理解?

雙箭頭函數(shù)怎么理解?

我在看這個代碼的時候,我看到下面的雙箭頭函數(shù):

const User = 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)
    })
        
}

有點看不懂這個雙箭頭函數(shù),能夠講解下呢?我指的是單箭頭函數(shù)可以看懂,但是這個單箭頭函數(shù)是怎么回事呢?

回答
編輯回答
互擼娃

學(xué)習(xí)ES6語法。

2018年2月22日 06:18
編輯回答
刮刮樂

箭頭函數(shù)的解釋:

             functionName = function(){return result}
                 可以簡寫為
              functionName = () => result;
              functionName = function (parameter1,parameter2){return result}
              可以簡寫為
              functionName = (parameter1,parameter2) => result;
              
              function (parameter1){return result};
              可以簡寫為
              parameter1 => result;
              
              
          
2017年7月5日 09:55
編輯回答
心沉
module.exports = function(socket, io){
    return function({ 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)
            })
        }
    }
}

導(dǎo)出了一個函數(shù)

2018年7月17日 12:30