egg.js里面controller多個業務模塊有相同的內容,怎么抽取公共的東西/egg.js里面controller可以互相調用嗎?


參考來源: https://blog.csdn.net/qq_38972119/article/details/89069303
官方地址: https://eggjs.org/zh-cn/basics/controller.html

controller和service之間的調用關系

1、一個service可以被多個controller調用
2、service也可以相互調用service
3、service不能調用controller
4、controller也不能相互調用controller

需求: 假如我有兩個模塊,里面searchRanking(搜索排行)和searchRecord(搜索記錄),但是兩個模塊的代碼相似度非常高,那么怎么把這個controller里面的公共的東西抽出來呢?其實最好的方法就是寫service引入,這里我們采用繼承的方式

公共的模塊commonSearch.js

searchRanking

searchRecord

這里主要是采用例如searchRanking先繼承父親commonSearch里面的方法,commonSearch繼承父親baseController里面的方法,當然searchRanking也可以繼承爺爺commonSearch里面的方法~

js的繼承應該只能是一個,不能同時繼承多個父親~

只能說目前采用的es6 class類的形式還沒有實現多繼承


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM