Вот примерно так он бы выглядел в реальности:
function connect(...) {...}
function createRouter(...) {...}
function prepareRequest(...) {...}
function json(...) {...}
function get(...) {...}
function releaseRouter(...) {...}
function releaseConnection(...) {...}
function GetModel(endpoint, requestParams, ip, port, routerParams)
{
const connection = connect(createSocket('TCP'), ip, port);
const router = createRouter(routerParams, connection);
const request = prepareRequest(router);
const requestedUsers = json(get(endpoint, request, requestParams));
const releasedRouter = releaseRouter(requestedUsers);
const relesedConnection = releaseConnection(releasedRouter);
releaseSocket(relesedConnection);
return requestedUsers;
}
function Main(){
users = GetModel('/users', {...}, ..., ..., {...});
avatars = GetModel('/avatars', {...}, ..., ..., {...});
posts= GetModel('/posts', {...}, ..., ..., {...});
console.log(users, avatar, posts); // По законам ФП все полученные данные после данной строчки мы должны удалить.
}
В целом понятно. Просто идет цепочка вызовов функций. Но неужели это удобно использовать.
connect(createSocket('TCP'),ip, port)
connect = tcpSocket=>connect(tcpSocket,ip,port);
createSocket('TCP').then(connect)
.В чем фишка всего этого ФП, не до конца понимаю
Непонятно, потому что пример плохой.
Звучит так, что ФП это какая то мутная тема