我有一个使用Node.js构建并表达的小API。我正在尝试创建一个记录器,我需要记录请求正文和响应正文。
app.use((req, res) => {
console.log(req);
res.on("finish", () => {
console.log(res);
});
});
Run Code Online (Sandbox Code Playgroud)
“表达”:“ ^ 4.16.3”,
但是,我无法在req或res对象中找到该主体。请告诉我我怎么能得到它们。谢谢。
我有一个对象有时它是空的,所以{}其他时候它将有内部属性设置为null.
{
property1: null,
property2: null
}
Run Code Online (Sandbox Code Playgroud)
如何确定此对象中的所有属性是否为空.如果它们都为null,则返回false.
目前我正在使用lodash检查第一种情况,其中对象只是{}空的.但我还需要介绍第二种情况.
if (isEmpty(this.report.device)) {
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud) 我从我的表单组件中获取数据,并尝试使用此数据设置我的应用程序组件的状态.
但是,state.data是一个空对象,不会更新数据.我在设置之前控制记录模型数据以检查它是否存在.它们是模型中的数据.
import React, { Component, Fragment } from "react";
import Form from "../components/Form";
import product from "./product.json";
class App extends Component {
constructor() {
super();
this.state = {
data: {}
};
}
onSubmit = (model) => {
console.log("Outer", model);
this.setState({
data: model
});
console.log("Form: ", this.state);
}
render() {
const fields = product.fields;
return (
<Fragment>
<div>Header</div>
<Form
model={fields}
onSubmit={(model) => {this.onSubmit(model);}}
/>
<div>Footer</div>
</Fragment>
);
}
}
export default App;
Run Code Online (Sandbox Code Playgroud) 我正在创建一个节点服务器。我已经声明了一个服务器类,并且在构造函数中,我正在Express应用程序上调用listen。然后,我正在导出此Server类。
const instance = new Server(); ^ TypeError:服务器不是构造函数
index.js
const Server = require("./server");
const instance = new Server();
exports.default = instance.server;
Run Code Online (Sandbox Code Playgroud)
server.js
const App = require("./app");
class Server {
constructor() {
this.app = new App();
this.instance = this.app.instance;
this.config = this.app.config;
this.server = this.instance.listen(this.config.port, "0.0.0.0");
console.log("Server Running On: 0.0.0.0:" + this.config.port);
}
}
exports.default = Server;
Run Code Online (Sandbox Code Playgroud)
网络包
const path = require("path");
const WebpackShellPlugin = require("webpack-shell-plugin");
module.exports = {
mode: "development",
entry: "./src/index.js",
target: "node",
devtool: "source-map",
output: {
path: path.resolve(__dirname, …Run Code Online (Sandbox Code Playgroud) 如果我的可观察值是false,则我应禁用下一个按钮。
可观察的是dataSource.next(如果有更多数据,则为true,否则为false)。如果没有更多数据,这将禁用按钮并阻止用户导航。
component.html:
<button mat-button (click)="next()" [disabled]="!dataSource.next$ | async">
<mat-icon>navigate_next</mat-icon>
</button>
Run Code Online (Sandbox Code Playgroud)
但是,尽管为dataSource.next输出的值是正确的,但它不能按预期工作,可能是因为如果值是false而不是true,我想禁用它吗?
例如,当没有更多数据时,dataSource.next为false,但该按钮仍处于启用状态。
解决办法是什么?
我假设在字段中添加unique:true将停止使用相同的值保存到数据库。但是即时消息仍然允许这样做。
“猫鼬”:“ ^ 5.4.19”,
const SessionSchema = new Schema({
jobId: {
type: String,
required: false,
unique: true,
index: true,
},
productId: {
type: String,
required: true,
},
status: {
type: String,
default: "Pending",
},
mode: {
type: String,
default: "authentication",
},
result: {
type: Schema.Types.Mixed,
},
requests: [RequestSchema],
callback_at: {
type: Date,
},
}, {
timestamps: { createdAt: "created_at", updatedAt: "updated_at" },
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试删除并重新创建集合。参见下图,我可以使用相同的jobId创建1的新会话。
public store = async (req: Request, res: Response): Promise<any> => {
const input = req.body;
let …Run Code Online (Sandbox Code Playgroud) node.js ×3
angular ×1
ecmascript-6 ×1
express ×1
javascript ×1
lodash ×1
mongoose ×1
reactjs ×1