小编Kay*_*Kay的帖子

Node.js + Express-如何记录请求正文和响应正文

我有一个使用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对象中找到该主体。请告诉我我怎么能得到它们。谢谢。

node.js express

3
推荐指数
3
解决办法
6363
查看次数

如何检查对象中的每个属性是否为null

我有一个对象有时它是空的,所以{}其他时候它将有内部属性设置为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)

javascript lodash

2
推荐指数
2
解决办法
3922
查看次数

调用this.setState后状态不变

我从我的表单组件中获取数据,并尝试使用此数据设置我的应用程序组件的状态.

但是,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)

reactjs

2
推荐指数
1
解决办法
1275
查看次数

Node.js-服务器不是构造函数()ES6

我正在创建一个节点服务器。我已经声明了一个服务器类,并且在构造函数中,我正在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)

node.js ecmascript-6

1
推荐指数
1
解决办法
1079
查看次数

如何禁用具有可观察性的按钮?

如果我的可观察值是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,但该按钮仍处于启用状态。

解决办法是什么?

angular

0
推荐指数
1
解决办法
1927
查看次数

猫鼬独特的属性仍然允许我保存到数据库

我假设在字段中添加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)

mongoose node.js mongoose-schema

0
推荐指数
1
解决办法
83
查看次数