我的任務是使用對象關係映射(ORM)爲類創建一個小型應用程序。這是一個相當簡單的應用程序,它接受客戶端輸入,將其放入數據庫並顯示回客戶端。請將回調函數的事件路徑分解爲ORM文件
但是,由於我們在3個文件之間傳遞代碼,所以我很難理解正在發生的事情。有一個burgers-controller.js
文件需要burgers.js
文件,該文件需要orm.js
文件。對於想要查看完整代碼的人,您可以在我的Github上找到它。
我得到了使用ORM並模塊化一切的推理和好處,但我需要有人來分解代碼內部發生的事情以及按照什麼順序。
所以在burgers-controller.js
文件中我們有以下代碼。
router.get("/", (req, res)=>{
burgers.selectAll((result)=>{
let handlebarsObj = {
burgers: result
}
res.render("index", handlebarsObj)
});
})
然後在burgers.js
裏面我們有下面的代碼。
let burgers = {
selectAll: (callback)=>{
orm.selectAll("burgers", (result)=>{
callback(result);
})
}
}
最後在orm.js
我們有。
let orm = {
selectAll: (tableName, callback)=>{
let queryString = "SELECT * FROM ??"
connection.query(queryString, tableName, (err, data)=>{
if (err){console.error("ERROR: " + err.stack)}
callback(data)
})
}
}
ORM文件連接到MySQL數據庫。
你能解釋一下這裏發生了什麼,以什麼順序?