Невозможно вставить новый элемент в массив, когда afterInsert вызывает WIX Corvid - PullRequest
0 голосов
/ 17 апреля 2020

Я написал следующую функцию на сервере => dataa. js file

image java.js file.">

      let recived_msg_users = [] ; 

export function chat_afterInsert(item, context) {


     let user_date = []
          var now = new Date();
          var nowTimeStamp = now.getTime();

           let hookContext = context;  // see below
           user_date.push(item.userIdb)
           user_date.push(item._createdDate.valueOf())

        recived_msg_users.push(user_date)

        console.log("new msg added",recived_msg_users)


        }

Теперь я go для предварительного просмотра режим, и я ожидал увидеть на консоли, каждый раз, когда я вставляю новую строку таблицы +1 элементов массива recived_msg_users, но я постоянно получаю длину 1 каждый раз, когда я вставляю элемент в таблицу, ПОЧЕМУ?

Это может быть вызвано этой ошибкой?

 Hook afterInsert for collection chat result ignored! Expected hook result to resolve to an object with an '_id' property, but got [Undefined] 

В любом случае, почему я получил эту ошибку? что не так?

console

1 Ответ

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

Причиной этой ошибки является завершение функции с return item для функции подключения. Ваша текущая функция ничего не возвращает.

Однако большая проблема в том, что вы не можете обновить массив recived_msg_users в ловушке, потому что элементы не будут сохраняться вне ловушки. Он нигде не хранит информацию, потому что все в файле ловушек data. js выполняется по требованию как безсерверная функция, поэтому переменные не существуют , пока не будет вызвана одна из ловушек.

Если вы хотите сохранить информацию, вы можете сохранить эту информацию в другой БД или той же самой.

...