Edited at

javascriptのカリー化?

More than 1 year has passed since last update.


経緯

Promiseのcallbackの中で1行で書きたくなった。

理由はcallbackの中の処理がダラダラと続くことが

多くを外に出すことで見やすくなるかなと

思ったため。


ソシャゲでアイテムをあげたりする処理を書く時

let array = [1, 2, 3];

let msg = 'プレゼント';
return Promise.forEach(array, function(itemId){
let item = findItem(itemId); // itemを探す
return giveItem(item, msg); // itemをあげる
});


カリー化?するといけそう

let array = [1, 2, 3];

let msg = 'プレゼント';

// itemIdを引数に取る関数を返すメソッド
let giveItemFunc = function(msg){
return function(itemId){
let item = findItem(itemId); // itemを探す
return giveItem(item, msg); // itemをあげる
}
}
return Promise.forEach(array, giveItemFunc(msg));

こうすると1行でかけました。

単なる自己満に近いですね。。。

他にこういうのあるとかあればお待ちしております!