node.js - 路由文件中的函数调用 - node.js
问题描述
下面的代码不起作用,因为有函数调用。
function checkQueryStringExists(request) {
var url_parts = url.parse(request.url, true);
var api_token = url_parts.query.api_token;
if(typeof api_token === 'undefined') {
return false;
}
return true;
}
router.post("/get-profile", function(request, response) {
response.setHeader('Content-Type', 'application/json');
var result = checkQueryStringExists(request);
if(!result) {
response.status(401).send(JSON.stringify({ "Status": false, "Message": "Invalid query string." }));
}
});
下面的代码有效,因为函数调用已被删除
router.post("/get-profile", function(request, response) {
response.setHeader('Content-Type', 'application/json');
var url_parts = url.parse(request.url, true);
var api_token = url_parts.query.api_token;
if(typeof api_token === 'undefined') {
response.status(401).send(JSON.stringify({ "Status": false, "Message": "Invalid query string." }));
}
});
这是否意味着我们不能像上面那样在 node.js 中使用函数?
解决方案
在 node js 中,您可以在不指定 function 关键字的情况下定义您的函数。您可以有两种方法来定义您的函数:
方法 1
checkQueryStringExists(request) {
var url_parts = url.parse(request.url, true);
var api_token = url_parts.query.api_token;
if(typeof api_token === 'undefined') {
return false;
}
return true;
}
方法 2
checkQueryStringExists = (request) => {
var url_parts = url.parse(request.url, true);
var api_token = url_parts.query.api_token;
if(typeof api_token === 'undefined') {
return false;
}
return true;
}
阿瓦夫特
推荐阅读
- prolog - 具有多个结果的 Prolog 目标
- python - 禁用 pytest 固定装置
- c# - 如何使用 Xamarin Forms iOS 应用程序中的特定电话号码打开 Whatsapp?
- anaconda - Anaconda Spyder 下 tkinter 的破坏问题
- c# - 使用多个租户创建 DocuSign API 帐户
- python - 优化在 python 列表上运行的 cython 函数
- caldav - SOGo:CalDAV 条目未显示在客户端(iOS、macOS、Android)中
- android - CookieManager 没有保存我的 cookie [Android - HttpUrlConnection]
- node.js - Dockerfile:如何在节点高山映像上正确安装 bcrypt?
- sql - 日期差异 = 0 在哪里子句 Oracle?