У меня есть приложение, которое сканирует двумерные штрих-коды, а затем извлекает данные из URL-адресов, предоставленных кодами.В случае, если пользователь теряет подключение к Интернету, приложение начинает сохранять URL-адреса через AsyncStorage.Проблема заключается в том, что мне нужно реализовать прослушиватель, чтобы после восстановления подключения к Интернету приложение запускало данный метод.Есть ли рекомендуемые способы реализации прослушивателя подключения, такого как этот?
Редактировать:
Я пытался использовать NetInfo EventListener, однако я не уверен, что я использую его неправильно, как всегдавызывает переданную функцию, даже если статус интернета не изменился.
_connectionHandler = (e) => {
this.setState({ cameraActive: false })
NetInfo.getConnectionInfo().then((connectionInfo) => {
if (connectionInfo.type === "none"){
console.log("No internet")
dataArray.push(e.data)
let barcodeData_delta = {
data: dataArray
}
AsyncStorage.mergeItem(STORAGE_KEY, JSON.stringify(barcodeData_delta));
NetInfo.isConnected.addEventListener(
'connectionChange',
this._handleConnectionChange(e.data)
);
this.setState({ cameraActive: true })
} else {
console.log("Internet available -> Going to read barcode now")
this._handleBarCodeRead(e.data);
}
})
}