Я пытаюсь вставить запросы в neo4j из массива запросов, обозначенных 'arr' в узле. Я знаю, что этот массив переходит к функции, поскольку console.log (query) выводит один запрос, я подозреваю, что это что-то связано с async, но я новичок в этом, поэтому я озадачен. Ошибка я получаю в браузере «Не удается прочитать свойство„пост“неопределенный»Отправка запросов в neo4j через массив через request.post
function runCypherQuery(arr,callback) {
var query;
for(var i = 0; i < arr.length; i++){
query = arr[i];
console.log(query);
request.post({
headers:{
"Authorization": "Basic bmVvNGo6cGxleGlz"
},
uri: httpUrlForTransaction,
json: {statements: [{statement: query}]}
},function (err, res, body) {
callback(err,res,body);
})
}
}
Я пытался копировать ту же функцию без петли для app.js с помощью одного запроса и ему удалось отправить не проблема, как и
var query = "CREATE (u {id:573116})";
request.post({
headers:{
"Authorization": "Basic bmVvNGo6cGxleGlz"
},
uri: httpUrlForTransaction,
json: {statements: [{statement: query}]}
},
function (err, res, body) {
console.log(body);
})
Любая помощь оценили
Спасибо за ваш ответ. Массив создается «на лету», поэтому возвращается из другой функции до вызова этой функции. Массив имеет максимум 60, и не имеет значения, в каком порядке они выполняются. Я пробовал прохождение в «запросе», как вы сказали, но я все равно получаю ту же ошибку. Это потому, что «request.post» не должен находиться внутри функции, поскольку это модуль узла? Есть ли другой способ опубликовать данные без использования функции? –