В настоящее время я работаю над конечной точкой API.res.json не работает внутри функции обратного вызова
При размещении данных в конечную точку /authenticate
, я использую функцию plaidClient.getAuthUser
, чтобы получить информацию об учетной записи пользователя, а затем я пытаюсь использовать res.json
вернуть данные учетной записи.
После запуска этого:
accounts = JSON.stringify(res.accounts); console.log('accounts: ' + accounts);
Я успешно могу видеть массив словарей, содержащих информацию об учетной записи.
Однако, когда я пытаюсь использовать res.json({accounts: accounts})
, я получаю ошибку:
res.json({accounts: accounts}); ^ TypeError: undefined is not a function
Когда я пытаюсь запустить res.send(accounts)
вместо res.json, я получаю ту же ошибку:
res.send({accounts: accounts}); ^ TypeError: undefined is not a function
Вот мой код:
var public_token = ""; var access_token = ""; var accounts = [];
app.post('/authenticate', function (req, res) {
console.log('post');
public_token = req.body.public_token;
console.log(public_token);
console.log('plaid: ' + app.client);
server.client.exchangeToken(public_token, function (err, res) {
console.log('exchange');
if (err) {
//Handle Error
console.log('exchange-error');
}
else {
//We now have exchanged our Plaid access token.
//Store it somewhere persistent
//Access token is used to make API calls
access_token = res.access_token;
console.log('access_token: ' + access_token);
server.client.getAuthUser(access_token, function (err, res) {
if (err != null) {
//handle error
console.log('authorization-error');
}
else {
// Our response will hold an array of accounts for this user, containing account names,
// balances, account and routing numbers.
accounts = JSON.stringify(res.accounts);
console.log('accounts: ' + accounts);
//Return account data
res.json({accounts: accounts});
}
});
}
});
res.contentType('application/json');
res.send(accounts);
});
}; `
Кроме того, при запуске окончательных 2 строки:
res.contentType('application/json'); res.send(accounts);
Счет переменных по умолчанию обратно в это начальное значение []
I думаю, что это может быть проблемой закрытия, но я не уверен.
Спасибо, я ценю помощь. – Beezebrown