Я пытаюсь реализовать библиотеку quietjs в un ionic проекте, но у меня возникла ошибка un, которую я не могу понять.
Вот мой код:
app.html
<ion-fab bottom center>
<button ion-button block (tap) = "sendQuietData()">
Send
</button>
</ion-fab>
app.ts
//button acction for sending data
sendQuietData() {
this.initQuiet();
Quiet.transmitter({profile: 'ultrasonic', onFinish: this.onTransmitFinish}).transmit(Quiet.str2ab('example text'));
}
//initialize quietjs library
initQuiet() {
Quiet.init({
profilesPrefix: "/assets/data",
memoryInitializerPrefix: "/assets/data",
libfecPrefix: "/assets/data"
});
Quiet.addReadyCallback(this.onQuietReady, this.onQuietFail);
}
//setting up the profile
onQuietReady() {
Quiet.transmitter({profile: 'ultrasonic', onFinish: this.onTransmitFinish});
};
//on failure log it in console
onQuietFail(reason) {
console.info("quiet failed to initialize: " + reason);
};
//on finish log it in the console
onTransmitFinish() {
console.info("quiet finished transmiting: ");
};
Я получаю такую ошибку:
ERROR TypeError: Cannot read property 'length' of undefined
at lengthBytesUTF8 (quiet-emscripten.js:1)
at Object.intArrayFromString (quiet-emscripten.js:1)
at Object.transmitter (quiet.js:281)
at AppPage.webpackJsonp.115.AppPage.sendData (app.ts:69)
at Object.eval [as handleEvent] (AppPage.html:8)
at handleEvent (core.js:13589)
at callWithDebugContext (core.js:15098)
at Object.debugHandleEvent [as handleEvent] (core.js:14685)
at dispatchEvent (core.js:10004)
at core.js:10629
Кто-нибудь сталкивался с этой ошибкой, или есть пример того, как реализовать quietjs в приложении Ionic.
Спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Мне удалось заставить это работать, я оставлю это здесь на случай, если кто-то еще захочет узнать, как это сделать.
Прежде всего, создайте папку в src / assets под названием quiet (или как хотите, но не забудьте изменить путь к включенным файлам в index.html), путь будет src / assets / quiet
Скопируйте quiet.js и quiet-emscripten.js в созданную папку src / assets / quiet.
Скопируйте скрипт quiet-emscripten.js.mem в папку www.
Поместите в свой www / index.html этот код ниже:
2. после тега ... ion-app> вам нужно будет включить библиотеки
<ion-app></ion-app>
<script type = "text/javascript" src = "assets/quiet/quiet.js"></script
<script async type = "text/javascript" src = "assets/quiet/quiet-emscripten.js"></script>
<script src = "build/polyfills.js"></script>
Вот и все, при этом ваша библиотека должна работать без проблем.