本文要點
- 函數式編程技術通過以可組合的方式構造關注點來幫助我們編寫代碼。
- 可擴展效果靈活地分離了效果及其實現。
- 在純函數語言論壇中,可擴展效果是函數式編程領域的一個熱門話題,它的支持者聲稱這是構造程序的正確方法。
- 前端開發越來越多地採用函數式編程實踐,更多地依賴於純函數、promises、流和其他構造。可擴展效果正在進入JavaScript開發領域。
- William Heslam介紹了在JavaScript中如何使用可擴展效果有趣又有益。
William Heslam是Ecotricity的高級JavaScript開發人員。最近,他在Lambda Days 2020上做了一場 演講,內容是關於利用可擴展效果進行副作用建模以及由此帶來的測試方面的好處。
Heslam的演講圍繞着一個具體的例子展開,那是一個處理待辦列表的應用程序後端(即 Todo MVC基準應用程序),下面是相應的API:
// 監聽請求
const update = api.put('/update',
// 寫入數據庫
(request, response) => database.batchWrite(
'todos',
request.items.filter(hasTitle)
)
// 響應客戶端
.then(result => response({
code: 200,
added: request.items.filter(hasTitle),
notAdded: request.items.filter(hasNoTitle)
.map(item => ({ reason: 'NEEDS_TITLE', item }))
})
))
原文鏈接:【https://www.infoq.cn/article/UUqNfWEN4QGmIdEgGMbs】。未經作者許可,禁止轉載。