ノードに 'arr'で示されたクエリの配列からクエリをneo4jに挿入しようとしています。私は、この配列がconsole.log(クエリ)が単一のクエリを出力するときに関数に渡していることを知っています。私は非同期と何か関係があると思いますが、これは初めてのことです。私は、ブラウザで取得していますエラーです「未定義のプロパティを読み取ることができません 『ポスト』」request.post経由で配列経由でneo4jにクエリを送信する
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);
})
のようにすべてのヘルプはあなたが十分な情報を提供しなかったが、それはrunCypherQuery
機能の範囲内ではないので、request
変数が定義されていないように見える
ご返信ありがとうございます。配列はオンザフライで作成されているので、この関数が呼び出される前に別の関数から配列が返されます。配列の最大値は60ですが、実行順序は関係ありません。あなたが言ったように '要求'を渡してみましたが、同じエラーが発生しています。なぜなら、 'request.post'はノードモジュールであるため、関数内にあるべきではないからですか?関数を使用せずにデータを投稿できる他の方法はありますか? –