Я создаю API Node.js с помощью TypeScript, который я хочу разместить в Azure Functions. Он отправляет запросы другому публичному API. Я получил его для работы, но у него есть ошибка, которую я не могу решить. Я отправляю HTTP-запрос на свой API с Postman. В теле запроса есть объект JSON с одним свойством «id».Azure Функции, http request получает второе последнее значение назад
Но я не получаю последнее значение назад в качестве ответа. Я получаю второе последнее значение в качестве ответа. Предположим, что первый запрос с идентификатором «1» получает «хороший» ответ. Второй запрос с идентификатором «2» также получает «хороший» ответ. Но он должен быть «плохим» в качестве ответа. Третий запрос с идентификатором «3» получает как «плохой» ответ, но он должен «хорошо». Четвертый запрос с идентификатором «4» получает «хороший» ответ, но он должен «плохо».
Проблема только в моем API. Когда я отправляю запросы непосредственно на другой API через почтовый сервер, я не получаю эту проблему.
index.js
module.exports = function (context, req) {
if (req.body.checkID) {
api.validationStatus(req.body.checkID)
.then(function (resp) {
if (resp.validated) { // Number is correct
context.log('Result: good');
res = { body: "Result: good" }
}
else if (resp.name === "StatusCodeError") { // Number is not correct
context.log('Result: bad ' + resp.name);
res = { body: "Result: bad " + resp.name }
}
else if (resp.name === "RequestError") { // API is not reachable
context.log('Result, bad ' + resp.name);
res = { body: "Result, bad " + resp.name }
}
else { // Something else went wrong
context.log("Result, bad.");
res = { body: "Result: bad." }
}
});
}
else {
res = {
status: 400,
body: "Please pass an id"
};
}
context.done(null, res);};
api.js
myApi.prototype.validationStatus = function (id) {
// Request options
var options = {
method: 'get',
url: this.config.validationStatusLocationUrl.replace("{id}", id),
headers: { "Authorization": this.config.apiKey }
};
// Request with a promise
return reqpromise(options)
.then(function (res) {
return JSON.parse(res);
})
.catch(function (err) {
return err;
});
};