"Отправка запроса" loading on Get request on Postman - PullRequest
0 голосов
/ 16 апреля 2020

Мой /chat маршрут работает хорошо с помощью метода Post с проверкой с помощью Joi schema, но когда я отправляю запрос с помощью метода Get, он показывает Sending Request и продолжает загрузку ... Мой индекс. js файл :

const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const morgan = require('morgan');

const chat = require('./db/ChatModel');

const app = express();

app.use(bodyParser.json());

app.get('/chat', (req, res) => {
    chat.getAllMessages().then( (messages) => {
        res.json(messages);
    });
});

app.post('/chat', (req, res) => {
    console.log(req.dody);
    chat.createMessages(req.body).then((message) => {
        res.json(message);
    }).catch( (error) => {
        res.status(500);
        res.json(error);
    });
});

const port = process.env.PORT || 8888;
app.listen(port, () => {
    console.log(`Listening on port ${port}...`);
});

В connection.js Я закодировал это

const monk = require('monk');
const connectionString = 'localhost/chatboard';
const db = monk(connectionString);

module.exports = db;

И ChatModal. js имеет следующий код

const Joi = require('joi');
const db = require('./connection');

const schema = Joi.object().keys({
    username: Joi.string().alphanum().min(4).max(16).required(),
    subject: Joi.string().required(),
    message:Joi.string().max(300).required(),
    imgUrl: Joi.string().uri({
        scheme: [      // https://github.com/hapijs/joi/blob/v14.3.1/API.md#stringurioptions
          /https?/
        ]
      })
});

const chat = db.get('chat');

function getAllMessages() {
    return chat.find();
};

function createMessages(message) {
    const result = Joi.validate(message, schema);
    if (result.error == null) {
        message.created = new Date();
        return chat.insert(message);
    } else {
        return Promise.reject(result.error);
    }
}

module.exports = {
    createMessages,
    getAllMessages
};

Я не могу понять почему getAllMessages() не работает, и почтальон продолжает загружаться, когда Get запрос применяется следующим образом http://prntscr.com/s0d9c5

Ответы [ 3 ]

1 голос
/ 16 апреля 2020

ChatModal. js

function getAllMessages() {
 try {
  return chat.find();
 } catch (err) {
return next(err);

}

index. js

app.get('/chat', (req, res, next) => {
 try{
    data = chat.getAllMessages()
 } catch (err) {
    return next(error);
  }
    res.json(data);

});

0 голосов
/ 16 апреля 2020

Я думаю, могут быть ваши данные, я имею в виду данные списка сообщений, поэтому вес, в этом случае вы получаете все сообщения, res.json(messages); json метод имеет много времени для анализа данных сообщений

0 голосов
/ 16 апреля 2020

User try-catch в ChatModal. js, а также индекс. js, тогда вы можете понять, что является настоящей ошибкой, например:

ChatModal. js

function getAllMessages() {
  try {
    chat.find();
  } catch (err) {
  return next(err);
}
...