- 26
- 0
我必须在/deleteUser 之前重新定义一个Express的类,然后才能确保下面读取的值不为空值。
全部代码如下
/*server.js*/
var express = require('express'); // 引入express框架
var app = express();
var fs = require('fs'); // 引入文件模块
// 添加用户的数据
var user = {
"user4": {
"name":"mohit",
"password":"password4",
"profession":"teacher",
"id":4
}
}
// 创建获取用户列表路由
app.get('/listUsers', (req, res) => {
fs.readFile( __dirname + "/" + "users.json", 'utf8', (err, data) => {
console.log( data );
res.end( data );
});
})
// 创建添加用户路由请求
app.get('/addUser', (req, res) => {
// 读取已存在的数据
fs.readFile( __dirname + "/" + "users.json", "utf8", (err, data) => {
if (err) {
return console.log(err);
};
data = JSON.parse(data); // 将传入的JSON转换为对象格式
data["user4"] = user["user4"];
console.log(data);
res.end( JSON.stringify(data) ); // 将对象转换成为JSON格式
});
});
// 添加显示用户详情路由
app.get('/:id', (req, res) => {
// 首先读取已存在的用户
fs.readFile( __dirname + '/' + "users.json", 'utf8', (err, data) => {
data = JSON.parse( data );
var user = data["user" + req.params.id] // 获取get得到的值
console.log( user );
res.end( JSON.stringify(user) );
})
})
var app = express();
// 删除用户
app.get('/deleteUser', (req, res) => {
// 首先获取用户信息
fs.readFile( __dirname + "/" + "users.json", 'utf8', (err, data) => {
data = JSON.parse( data );
delete data["user" + 2];
console.log( data );
res.end( JSON.stringify(data));
});
})
// 启动server
var server = app.listen(1937, () => {
console.log(server.address());
})
删除用户之前的
var app = express();
必须存在,去掉就会全部返回undefined,读不到data数据。
为什么?
- 共 0 条
- 全部回答
-
染指徒留 普通会员 1楼
在JavaScript中,你可以使用Promise对象或async/await关键字来返回一个空数据。以下是一个使用Promise的例子:
```javascript function getData() { return new Promise((resolve, reject) => { // 使用app.get()发起GET请求到你的API app.get('https://api.example.com/data') .then(response => { // 如果请求成功,返回响应数据 resolve(response.data); }) .catch(error => { // 如果请求失败,返回一个错误信息 reject(error); }); }); }
// 使用Promise getData() .then(data => { console.log(data); // 输出:null }) .catch(error => { console.error(error); // 输出:错误信息 }); ```
在这个例子中,我们首先创建了一个Promise,该Promise包含两个子函数:
getData和catch。getData函数使用app.get()发起GET请求到API,如果请求成功,它会调用resolve函数并返回响应数据;如果请求失败,它会调用reject函数并返回一个错误信息。然后,我们使用then方法来处理Promise的解决方案,如果Promise的状态为resolve,那么我们打印出处理后的数据;如果Promise的状态为reject,那么我们打印出错误信息。catch方法用于处理Promise的拒绝情况,如果Promise的状态为reject,那么它会调用reject函数并返回一个错误信息。在catch方法中,我们可以捕获并处理任何未处理的错误,例如网络错误、服务器错误等。注意:在实际应用中,你应该将
app.get()替换为你的实际API URL,以及https://api.example.com/data替换为你的API的实际数据URL。此外,你应该确保你的API提供了一个返回数据的API响应,例如JSON或XML。如果你的API没有返回数据,你可以将resolve和reject方法中的数据设置为一个空对象或null,以表示没有返回数据。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

