2016-09-01 112 views
0

我有這個想法可以快速更改休息請求的處理程序,而無需重新啓動服務器。我的想法是這樣的更改處理程序expressjs

app.use("/test", (req,res) => { 
    res.json("hello!"); 
}) 
app.use("/test", (req,res) => { 
    res.json("bye!"); 
}) 

但它似乎沒有工作,因爲我總是從第一個答案回來。我認爲快遞只是將第二條附加到相同的路線,但我怎樣才能替換它們。

+0

我們不能'response'兩次,特別是'request',當服務器GET請求第一中間件被調用,響應設置,這就是爲什麼它未發送第二響應。 – abdulbarik

+0

好吧,我試圖給他一個適當的功能,並取代了功能,它仍然沒有工作。他們沒有爲什麼要用另一個替換處理程序? – Daniel

+0

你可以在這裏發佈這個函數,還有你想要的其他東西嗎? – abdulbarik

回答

0

簡單的方法是圍繞您的處理程序構建一個包裝。

const handler1 = (req, res) => res.json('hello'); 
const handler2 = (req, res) => res.json('bye'); 

app.use('/test', (req, res) => { 
    if(/* handler1 condition*/) return handler1(req, res); 
    return handler2(req, res); 
} 
相關問題