=> data)
const translateError = msg => () => new Error(msg)
const notifyErr = translateError('Error while sending notification')
const noUserFound = translateError('No user found')
const saveErr = translateError('Error occurred while saving task')
const saveTask = encaseP(TaskModel)
.mapRej(saveErr)
const saveNotify = encaseP2(
NotificationService.sendNotification
).mapRej(notifyErr)
const findUser = encaseP(UserModel.findById)
.chain(user => !!user ? resolve(user) : reject())
.mapRej(noUserFound)
const asyncTask = findUser(1)
.chain( ({id}) => savedTask({userId: id}) )
.chain( futureTap(saveTask) )
.chain( futureTap(saveNotify) )
Мне в конце лень стало)
Без do нотации грустновато
не очень лаконично((
Обсуждают сегодня