这可能是一个非常基本的问题,但在线解决方案都无济于事。 我正在尝试拨打电话
/* eslint-disable no-undefined */
let req = require('request');
function mutate(body) {
return body;
}
function post(request) {
let config = request.server.app.config;
let payload = request.payload;
let imageFile = '';
let options = {
method: 'POST',
url: `${config.get('api.baseUrl')}/imageUpload`,
headers: {
'Accept': '*/*',
'cache-control': 'no-cache'
},
formData:
{
file: imagefile
}
};
return req(options, (error, response, body) => {
if (error) {
throw new Error(error);
}
request.log(response);
return body;
});
}
module.exports = {
post
};
正在打印的响应是正确的。 在实际调用完成之前返回该值。 返回实际响应的正确方法是什么
答案 0 :(得分:0)
为避免问题,您可以使用
1)承诺
2)异步并等待
请尝试如下更改功能。
async function post (request) {
let config = request.server.app.config;
let payload = request.payload;
let imageFile = '';
let options = {
method: 'POST',
url: `${config.get('api.baseUrl')}/imageUpload`,
headers: {
'Accept': '*/*',
'cache-control': 'no-cache'
},
formData:
{
file: imagefile
}
};
return await req(options, (error, response, body) => {
if (error) {
throw new Error(error);
}
request.log(response);
return body;
});
}
您可以在此处查看有关异步/等待和承诺的更多信息。