我正在尝试获取如下所示的 promise 正文中的值(这是图像的二进制数据)。有没有办法将二进制数据转换为base64编码?
"Promise"{
"IncomingMessage"{
"_readableState":"ReadableState"{...
},
"readable":false,
"_events":[...
]{...
},
"_eventsCount":4,
"_maxListeners":"undefined",
"socket":"TLSSocket"{...
},
"connection":"TLSSocket"{...
},
"httpVersionMajor":1,
"httpVersionMinor":1,
"httpVersion":"1.1",
"complete":true,
"headers":{...
},
"rawHeaders":[...
],
"trailers":{...
},
"rawTrailers":[...
],
"aborted":false,
"upgrade":false,
"url":"",
"method":null,
"statusCode":200,
"statusMessage":"OK",
"client":"TLSSocket"{...
},
"_consuming":true,
"_dumped":false,
"req":"ClientRequest"{...
},
"request":"Request"{...
},
"toJSON":[...
],
"caseless":"Caseless"{...
},
"body": //binary values here
现在,访问它们的代码是通过异步函数内的 console.log(getto)
async function getMedia(imgMsgUrl, auth) {
const getImage = {
url: imgMsgUrl,
oauth: auth,
};
var getto = get(getImage);
await getto;
console.log(getto);
};
如何通过修改异步函数内的代码轻松访问正文?如何将其转换为 Base64 编码?
最佳答案
我让它工作了。这是代码。
async function getMedia(imgMsgUrl, auth) {
const getImage = {
url: imgMsgUrl,
oauth: auth,
};
var getto = get(getImage).then(function(response) {
let buffer = Buffer.from(response.body);
let base64 = buffer.toString('base64');
console.log(base64);
});
await getto;
};
关于javascript - 如何返回 promise 内的正文值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63620136/