PostgreSQL: чтение возвращается быстрее, чем запись - PullRequest
0 голосов
/ 28 мая 2018

У меня есть два запроса, написанных с SequelizeJS

Чтение:

Object.getObject = async function(){
    return await this.findOne();
}

Запись:

Object.updateObject = async function(info){
    const t = await sequelize.transaction();
    const currentObject = await Object.findOne();
    const updatedObject = currentObject.updateAttributes(info, t);
    t.commit();

    return updatedObject;
}

Эти запросы запускаются при переходе по URL-адресу вAPI.

Сначала я запускаю запрос на запись, а затем в обещании, которое обрабатывает успешный запрос на запись, я получаю обновленный объект.

API.updateObject().then((res) => {
    API.getObject();
})

Несмотря на то, что HTTP-запрос GET и запрос на чтение запускаются после того, как HTTP-запрос UPDATE возвращается и обрабатывается как обещание.Запрос на чтение завершается первым и возвращает объектную модель в состоянии до того, как он будет изменен упомянутым запросом на запись.

Как и в случае запроса на запись, несмотря на то, что он был запущен первым и указывает, что он завершен.Вызывает запрос на чтение, который завершает и получает более старый модальный объект до завершения записи.

Есть ли что-то, с чем я не знаю, о PostgreSQL и как он обрабатывает последовательности запросов при чтении и записи в один и тот же объект?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...