При попытке сделать запрос HTTP в лямбда-функции, следующий GET, кажется, не будет выполнена:Get HTTP не работает в лямбда-функции
var request = require("request");
var myMonzoBalance;
request({
uri: "https://api.monzo.com/balance?account_id=acc_XXXXXXXXX",
method: "GET",
headers: {'Authorization': 'Bearer XXXXXXX'}
}, function(error, response, body) {
myMonzoBalance = JSON.parse(body).balance;
console.log(myMonzoBalance);
});
console.log(myMonzoBalance);
Значение myMonzoBalance будет определено после того, как код казнены.
На самом деле, если я попытаюсь дать myMonzoBalance значение внутри функции запроса, это не будет иметь никакого значения - undefined.
Приведенный выше код отлично работает при работе в терминале. Также у меня есть node_modules в библиотеке той же лямбда-функции.
Любые идеи о том, почему это может происходить?
Большое спасибо!
В функции функции обратного вызова (ошибка, ответ, тело) вы можете опубликовать результат «console.log (body)», поэтому мы уверены, что «JSON.parse (body) .balance» - это объект, который на самом деле существует? – MadWard