Nodejs Опубликовать в Neo4j UnhandledPromiseRejectionWarning & DeprecationWarning error - PullRequest
0 голосов
/ 24 мая 2019

Я использую NodeJs v8.9.4 и Neo4j 3.5.5.Моя база данных neo4j находится на Graphenedb, а мое приложение на Heroku, но проблема существует и в моем локальном приложении, и в db.

Вплоть до прошлой недели приведенный ниже код работал без проблем.Я смог опубликовать в своей базе данных neo4j, используя мое приложение nodejs.

Проблема: Когда я использую свое приложение для публикации или создания нового узла в neo4j, я получаю следующие ошибки:

(узел: 12184) UnhandledPromiseRejectionWarning: необработанное отклонение обещания (id отклонения: 1): ReferenceError: ошибка не определена

(узел: 12184) [DEP0018] DeprecationWarning: отклонение необработанного обещания не рекомендуется.В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.POST / beer / add - - ms - -

Опять же, я никогда не видел этих ошибок до прошлой недели.

Я не могу получить и прочитать данные из моего neo4j db в мое приложение без проблем.Я попытался запустить тот же пост из моего локального приложения в локальную базу данных neo4j.Опять же, раньше это работало без проблем, вплоть до прошлой недели, но не будет работать и локально.Мой код не изменился вообще.При необходимости я могу предоставить больше моего кода server.js или index.ejs.

server.js file
const driver = neo4j.driver('bolt://localhost:7687', neo4j.auth.basic('neo4j','neo4j'));


//Post to create beer node
app.post('/beer/add', async (req, res) => {
  const {beername, abv, ibu, rating, beertypename, breweryname} = req.body;
  try {
    const result = await session.run('Match (bt:BeerType {name: {beertypenameParam}}), (bry:Brewery {name: {brewerynameParam}}) Create (bt)<-[r:IS_A]-(b:Beer {name: {beernameParam},ABV:{abvParam},IBU:{ibuParam},Rating:{ratingParam}})<-[r2:BREWS]-(bry) Set b.date = apoc.date.format(timestamp(),"ms","MM/dd/yyyy"),b.Uid = apoc.create.uuid() Return bt,b,bry', {beertypenameParam:beertypename,brewerynameParam:breweryname,beernameParam:beername, abvParam:abv, ibuParam:ibu, ratingParam:rating})
    if (result) {
      res.redirect('/');
      session.close()
    }
  } catch (e) {
    console.log(err)
  };
});

Я ожидаю, что // Post создаст код узла пива выше для создания нового узла / объекта, но этоне.Тем не менее, я все еще могу создавать отношения / края, используя мое приложение.Например, выполнение следующего кода для создания взаимосвязи между двумя узлами / объектами в моем приложении работает нормально ...

server.js file
//Post to create relationship between beer and seller
app.post('/beer/seller/add',async (req, res) => {
  const {beername, sellername} = req.body;
  try {
    const result = await session.run('Match (b:Beer {name:{beernameParam}}),(s:Seller {name:{sellernameParam}}) Create (b)-[r:PURCHASED_FROM]->(s) Return b,s', {beernameParam:beername, sellernameParam:sellername});
    if (result) {
      res.redirect('/');
      session.close()
    }
  } catch (e) {
    console.log(err)
  };
});

Как я могу исправить мою // публикацию для создания кода узла пива?

1 Ответ

0 голосов
/ 24 мая 2019

Проблема в этой строке:

  } catch (e) {
    console.log(err)
  };

Это приведет к синтаксической ошибке при запуске - err не определено, но e есть. Я предполагаю, что до прошлой недели ваш код никогда не генерировал ошибку, обнаруженную try/catch.

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