asyncを使用してコントローラを作成しようとしていますが、3番目のパラメータとして匿名関数を渡すことはできません。予期せぬトークンの構文解析エラーが発生し続ける{ - '任意のアイデア?パラメタの中で関数(エラー、応答)を直接渡すだけで、エラーは消えてしまいます。私は基本的に、返される2つのオブジェクトを繰り返し処理しようとしています。各オブジェクトのコントラクト名を見つけて、そのコントラクトに割り当てられたデータの配列を割り当てます。ノードコントローラ - 非同期パス匿名関数
var request = require('request'),
helpers = require('../../helpers.js'),
async = require('async');
module.exports.getStatementBreakdown = function(req, res) {
var httpGet,
response,
urls = [
'/financial-advances/',
'/financial-adjustments/'
];
httpGet = function(url, callback) {
var options = helpers.buildAPIRequestOptions(req, url);
request(options,
function(err, res, body) {
var data = {};
if(!err && res.statusCode === 200) {
data = JSON.parse(body);
}
callback(err, data);
}
);
};
response = function(err, responses) {}
async.map(urls, httpGet, response) {
var statementBreakdown = {},
response,
breakdown,
i,
j,
contractName,
key;
for(i = 0; i < responses.length; i++) {
response = responses[i];
for(key in response) {
if(key !== 'meta' || key !== 'notifications') {
breakdown = response[key];
for(j = 0; j < breakdown.length; j++) {
contractName = breakdown[j].reimbursementContract.name;
}
}
}
}
statementBreakdown[contractName] = [];
statementBreakdown[contractName].push(breakdown);
res.send(statementBreakdown);
});
};
'async'はES2016のキーワードです。ご使用のnode.jsのバージョンによっては、これが問題である場合とそうでない場合があります。 'async'変数の名前を変更してみてください。 –
aSyncは私が使用しているライブラリの名前です - 私はこれを別のコントローラで動作させていますが、匿名の関数を使用していません – Jackthomson
あなたが投稿したコードはあなたが動作していないコードではありません。 'async.map()'で無名関数を使用していません。あなたは動作していないコードを投稿できますか? – Paul