Я занимаюсь разработкой REST API Framework.Клиент вызовет мою конечную точку, используя POST.Мой код затем сделает дополнительный вызов во внешнюю систему, используя POST.Но у меня возникли проблемы с библиотекой запросов.Посмотрите на мой фрагмент кода ниже.
var express = require("express");
var app = express();
var cfenv = require("cfenv");
var bodyParser = require('body-parser');
var request = require('request');
app.use(bodyParser.urlencoded({
extended: false
}))
app.use(bodyParser.json())
var mydb;
app.post("/token", function (req, response) {
console.log("Call to /token");
var token = "a"
var headers = {
'Content-Type': 'application/json'
}
var options = {
url: 'https://xyz/oauth2//token',
method: 'POST',
headers: headers,
json: {
'key1': 'xxx',
'key2': 'yyy'
}
}
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
} else {
console.log(body)
}
})
return response.send(token)
Возвращение всегда будет 'a' из-за асинхронной природы метода запроса.Как вернуть правильное значение каждый раз?