日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Node.js -- Router模块中有一个param方法

發布時間:2023/11/29 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Node.js -- Router模块中有一个param方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這段時間一直有在看Express框架的API,最近剛看到Router,以下是我認為需要注意的地方:

Router模塊中有一個param方法,剛開始看得有點模糊,官網大概是這么描述的:

1 Map logic to route parameters.

大概意思就是路由參數的映射邏輯

這個可能一時半會也不明白其作用,尤其是不知道get和param的執行順序

再看看源碼里面的介紹:

1 2 3 Map the given param placeholder `name`(s) to the given callback. Parameter mapping is used to provide pre-conditions to routes which use normalized placeholders

這就清晰多了,翻譯過來就是說:

在所給的參數和回調函數之間做一個映射,作為使用標準化占位符的路由的前提條件。

下面給出一段具體代碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 var?express = require('express'); var?app = express(); var?router = express.Router(); router.count = 0; router.get('/users/:user',?function(req, res, next) { ????router.count ++; ????console.log(router.count); }); router.param('user',?function(req, res, next, id) { ????router.count ++; ????res.send({count: router.count}); ????next(); }); app.use(router); app.listen(3000);

命令行下輸入

node xxx.js

瀏覽器訪問

http://localhost:3000/users/bsn

這時候命令行會輸出2,而瀏覽器會輸出

{ count: 1 }

因此,param會先于get執行

轉載于:https://www.cnblogs.com/chris-oil/p/4985542.html

總結

以上是生活随笔為你收集整理的Node.js -- Router模块中有一个param方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。