Почтальон зависает при выполнении запросов к node.js - PullRequest
0 голосов
/ 11 декабря 2018

Я использую почтальон для отправки запроса в мой API node.js, которому я использую маршрут моих заказов, чтобы отправить запрос, следуя моему контроллеру заказов.Какую бы заявку я ни делал, используя маршрут моих заказов, моя заявка зависает, и вместо того, чтобы получить ответ 400 или 500, мой почтальон застревает на экране загрузки, и через некоторое время он отключается.Я пробовал альтернативно, используя расширение Google Chrome, те же результаты.После неудачной заявки я получаю следующее сообщение message

Мне было интересно, связано ли это с тем, как я выполнял маршрутизацию в моем бэкэнде, но я не уверен в этом,Следовательно, вот мой код:

model.js:

'use strict';

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const schema = new Schema({
    customer: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Customer'
    },
    number: {
        type: String,
        required: true
    },
    createDate: {
        type: Date,
        required: true,
        default: Date.now
    },
    status: {
        type: String,
        required: true,
        enum: ['created', 'done'],
        default: 'created'
    },
    items: [{
        quantity: {
            type: Number,
            required: true,
            default: 1
        },
        price: {
            type: Number,
            required: true
        },
        product: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'Product'
        }
    }],
});

module.exports = mongoose.model('Order', schema);

метод post в моем order-controller.js:

exports.post = async(req, res, next) => {
    try {
        const token = req.body.token || req.query.token || req.headers['x-access-token'];
        const data = await authService.decodeToken(token);

        await repository.create({
            customer: data.id,
            number: guid.raw().substring(0, 6),
            items: req.body.items
        });
        res.status(201).send({
            message: 'Order registered with success!'
        });
    } catch (e) {
        console.log(e);
        res.status(500).send({
            message: 'Fail to process your requisition'
        });
    }
};

order-repository.js:

'use strict';
const mongoose = require('mongoose');
const Order = mongoose.model('Order');

exports.get = async(data) => {
    var res = await Order
        .find({}, 'number status customer items')
        .populate('customer', 'name')
        .populate('items.product', 'title');
    return res;
}

exports.create = async(data) => {
    var order = new Order(data);
    await order.save();
}

order-route.js:

'use strict';

const express = require('express');
const router = express.Router();
const controller = require('../controllers/order-controller');
const authService = require('../services/auth-service');

router.get('/', authService.authorize, controller.get);
router.post('/', authService.authorize, controller.post);

module.exports = router;

1 Ответ

0 голосов
/ 12 июля 2019

Это может произойти, если вы отлаживаете сервер nodejs, и он находится на точке останова.Если так, ответ будет зависать.Чтобы исправить это, просто отключите эту точку останова, перезапустите сервер nodejs и снова выполните запрос с почтальоном.

...