Я не могу решить этот вопрос с помощью ответов на этот вопрос , потому что в коде есть различия.
Я хочу вернуть объект из обратного вызова. Когда я запускаю приведенный ниже код, журнал объекта body
выглядит так, как ожидалось. Похоже, что это правильный объект JSON, содержащий нужный мне ответ от сервера: имя, адрес электронной почты, веб-сайт и т. Д. c.
Но объект result
содержит информацию о самом запросе. вместо объекта ответа.
Как вернуть объект body
, чтобы я мог получить к нему доступ из переменной result
?
const request = require('request'); // npm i request -s
module.exports = async config => {
...
const result = await request.get( url, options,
( error, response, body, ) => {
console.log( 'body', body, ); // I want the other log to look like this log.
return body;
}
);
console.log( 'result', result, ); // I want this log to look like the above log.
// In other words, I want the below line to be the name, email, website JSON object
// contained in the body
return result;
}
Это то, что я хочу от result
.
console.log ('body', body,);
body {
"name": "foo",
"email": "foo@example.com",
"website": "www.example.com",
...
}
Именно это я и получаю из result
.
console.log ('result', result,);
result Request {
_events: [Object: null prototype] {
error: [Function: bound ],
complete: [Function: bound ],
pipe: [Function]
},
_eventsCount: 3,
_maxListeners: undefined,
uri: Url {
protocol: 'https:',
slashes: true,
auth: null,
host: 'api.example.com',
port: 443,
hostname: 'api.example.com',
hash: null,
},
callback: [Function],
method: 'GET',
readable: true,
writable: true,
explicitMethod: true,
_qs: Querystring {
request: [Circular],
lib: { formats: [Object], parse: [Function], stringify: [Function] },
useQuerystring: undefined,
parseOptions: {},
stringifyOptions: {}
},
_auth: Auth {
request: [Circular],