javascript - 如何在promise中返回body的值
问题描述
我试图在看起来像这样的承诺主体中获取值(这是图像的二进制数据)。有没有办法将二进制数据转换为 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 - POST 请求在邮递员中有效,但在浏览器中无效
- docker - 重新启动 auditd 服务会导致依赖错误
- javascript - cancleAnimationFrame 没有停止动画循环
- excel - 在列表框中显示超过 10 列的数据
- javascript - 未捕获的引用错误:未定义 JSZip
- java - 等待对象监视器是什么意思
- sql - 如何使用 sql 查询仅获取不包括括号的内容?
- android-studio - Recyclerview 动画在活动中不起作用
- python - 如何从多值熊猫列中计算最受欢迎的值
- c# - 如何使用 C# 中的 CPython 调试 python 脚本?