Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.221.13.173] |
|
Сообщ.
#1
,
|
|
|
Задам пожалуй самый тупой вопрос
зачем она нужна? те примеры что я нашел не раскрывают его суть const sayX = x => console.log(x); R.tap(sayX, 100); //=> 100 // logs => 100 ну и зачем это нужно? или вот еще const log = R.bind(console.log, console); R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3} // logs => {a = 2} и зачем ее тут вызвали? и без нее все работает R.pipe(R.assoc('a', 2), log, R.assoc('a', 3))({a: 1}); //=> {a: 3} // logs => {a = 2} |
Сообщ.
#2
,
|
|
|
Разобрался, как оказалось все просто
Вот пример, который наглядно показывает для чего tap может пригодится, а именно без tap прерывается цепочка передачи данных в функции compose R.compose( console.log, //<-- тут пойдет без tap R.add(1), R.tap(console.log), //<-- а тут нет ибо передача данных прервется R.multiply(2) )(5); //=> 10 //=> 11 Это можно проделать и без tap R.compose( console.log, R.add(1), val => { console.log(val); return val; }, R.multiply(2) )(5); |