Я использую плагин Cordova Firebase для обмена сообщениями в проекте ionic 3.
Плагин имеет функцию разрешения запроса, которая возвращает обещание строки. Но фактически он возвращает ArrayBuffer как [объект ArrayBuffer].
Как преобразовать массив буферов в строку?
Я попробовал решение, приведенное по ссылке ниже:
https://github.com/chemerisuk/cordova-plugin-firebase-messaging/issues/42
this.firebaseMessaging.requestPermission().then((data:string)=>{
this.firebaseToken=data;
var buf = new ArrayBuffer(1024); // 2 bytes for each char
var bufView = new Uint16Array(buf);
bufView=str;
return Array.prototype.map.call(new Uint8Array(buf), (x:any) =>
('00' + x.toString(16)).slice(-2)).join('');
})
Я ожидаю, что результат arrayBuffer в строку.
Но результат содержит строку, содержащую все символы в виде 0.