@triadecom

Почему функция в node выполняется несколько раз?

Добрый день!

Пишу на node callback сервис, который принимает в диалоге фотографии, берет их ссылку и отправляет на mysql базу данных.

Столкнулся с такой проблемой, что с какой-то периодичностью, сервис отсылает в бд ссылки по несколько раз.
В чем может быть проблема?
Сервер
const easyvk = require('easyvk');
const express = require('express');
const bodyParser = require('body-parser');
const api = require('vk-easy');
const send = require('./send');

const { PORT, CONFIRMATION, TOKEN } = require('./config');

const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

const proc = require('./messageProceed')

app.get('/renaissance/api', (req, res) => res.send('Hello World!'));
app.post('/renaissance/api', (req, res) => {
    const { body } = req;



switch (body.type) {
    
    case 'confirmation':
        res.end(CONFIRMATION);
        break;

    default:
        return proc(body.object);
        break;


}

});
Обработка сообщения
const send = require('./send.js');
const photoAPI = require('./actions/photo.js');

module.exports = async function( {from_id: userId, text, attachments: files, payload} ) {

    if (files != null) {

        for (i = 0; i < files.length; i++) {
            //send(userId, 'Getting object...');
                if (files[i].type == 'photo') {
                    photoAPI(files[i]);
            }
        }
    }

    return;

};
Отправка в бд
const easyVK = require('easyvk');
const send = require('../send');
const api = require('vk-easy');
const mysql = require('mysql');

module.exports = function ({ photo: item }) {

    // на стиль решения не обращайте внимания, пока что я просто тестирую эти методы

if (item.photo_2560 != null) return client.query('INSERT INTO testtab (test, field, number) VALUES ("node",\"'+ item.photo_2560 +'\", 322)');

}
}
Сама бд, там должна быть одна ссылка, а не несколько, так как сообщение отправлено всего одно
5ccf032f67db3445927904.png


Вот выше скинул пример, при отправке одного единственного сообщения, что я делаю не так?
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы