Operation was cancelled react native ble-plx

Рейтинг: 1Ответов: 0Опубликовано: 27.07.2023

При попытке отправить на устройство сообщение выпадает ошибка: Ошибка при записи: Operation was cancelled. Метод для отправки сообщения:

writeDataToDevice = (deviceId: string, data: string) => {
        const convertedData = Utils.stringToBinary(data);
        console.log(convertedData)
        console.log(deviceId);
        this.bleManager
            .writeCharacteristicWithResponseForDevice(
                deviceId,
                UUID,
                CHARACTERISTIC_UUID_RX,
                convertedData
            )
            .then(() => {
                console.log('Отправлено: ' + data + ' на устройство: ' + deviceId);
            })
            .catch((error) => {
                console.error('Ошибка при записи: ' + error.message);
            });
    };

Метод, в котором вызывается метод отправки:

if (this.trainingData.idAndSeriesNumber !== undefined && this.trainingData.idAndSeriesNumber.has(participantId)) {
            const value = this.trainingData.idAndSeriesNumber.get(participantId);
            if (value !== undefined) {
                console.log('Пробую записать данные: ' + deviceId + ' ' + value);
                writeDataToDevice(deviceId, value.toString());
            }
        }

Ключевая проблема в том, что пока я делал всю логику в 1 классе (изначально был 1 TrainingLogic, в последствии разделил на TrainingLogic, SimpleTrainingExpectantFormat и SimpleTrainingUtils), то всё работало без ошибок, как решил разделить их, то выпадает эта ошибка. Вот полные логи:

LOG  Проверка на подключенность:
 LOG  Id: A0:76:4E:4B:95:32 подключён
 LOG  Id: A0:76:4E:4B:CE:16 подключён
 LOG  Id: A0:76:4E:4E:DA:72 подключён
 LOG  Id: 34:B4:72:4D:DC:AE подключён
 LOG  Пробую записать данные: A0:76:4E:4B:CE:16 0
 LOG  00110000
 LOG  A0:76:4E:4B:CE:16
 LOG  Пробую записать данные: A0:76:4E:4E:DA:72 1
 LOG  00110001
 LOG  A0:76:4E:4E:DA:72
 LOG  Пробую записать данные: A0:76:4E:4B:95:32 2
 LOG  00110010
 LOG  A0:76:4E:4B:95:32
 ERROR  Ошибка при записи: Operation was cancelled
 LOG  Отправлено: 0 на устройство: A0:76:4E:4B:CE:16
 LOG  Отправлено: 1 на устройство: A0:76:4E:4E:DA:72

Ответы

Ответов пока нет.