javascript - 当我在节点 js 中将 x 设置为请求时,“x”的 getData 不起作用
问题描述
这是我的代码:
app.get('/',(req,res) => {
var x = new Data();
x.setData("Hello");
console.log(x.getData()); // Hello
req.x = x;
x = req.x;
console.log(x.getData()); // getData() is not a function ??
});
请帮我!!
解决方案
这是我的实验代码:
// app.js
const express = require('express')
const app = express()
class Data {
constructor() {
this.data = ''
}
setData(val) {
this.data = val
}
getData() {
return this.data
}
}
// app.get('/', (req, res) => res.send('Hello World!'))
app.get('/',(req,res) => {
var x = new Data();
x.setData("Hello");
console.log(x.getData()); // Hello
console.log(req.x)
req.x = x;
console.log(req.x)
x = req.x;
console.log(x)
console.log(x.getData());
res.send('Hello World!')
});
app.listen(3000, () => console.log('Example app listening on port 3000!'))
这是输出:
> node app.js
Example app listening on port 3000!
Hello
undefined
Data { data: 'Hello' }
Data { data: 'Hello' }
Hello
没有发生错误。
推荐阅读
- go - Golang 从 openpgp.js 解密 PGP
- sql-server - 寻求对 SQL Server 索引问题的确认
- javascript - 创建一个适用于 vue 和 express 端的 NPM 模块
- c++ - wxGenericDirCtrl 错误“wxTheFileIconsTable 为 nullptr”
- reactjs - 如何在 Material-UI Grid 项目之间应用边距?
- xslt - 忽略每个 XSL 的阻塞
- jdbc - 自定义连接器中 JDBC 驱动程序的 Tableau 驱动程序解析器定义
- raspberry-pi - 在模拟设备(可能是 Azure Hub)上安装 Windows 10 IoT Core
- python - Peewee 别名不起作用并抛出 AttributeError
- arrays - 如何仅通过调用 A[i] 来确定 O(log n) 时间内数组的长度?