Я работаю с угловыми сервисами, которые называются сервисом устройств
import { Injectable } from '@angular/core';
import { Storage } from '@ionic/storage';
const TOTAL_DEVICES = "TOTAL_DEVICES";
interface deviceInterface {
ssid : String,
name : String
}
interface devicesInterface {
devices : Array<deviceInterface>
}
@Injectable({
providedIn: 'root'
})
export class DeviceService implements devicesInterface {
devices : Array<deviceInterface>;
constructor(private storage : Storage) { }
addDevice(ssid : String, name : String){
this.storage.get(TOTAL_DEVICES).then(res => {
if (res) {
this.devices = res;
console.log(this.devices);
this.devices.push({ssid : ssid, name : name})
}else{
let devices_obj : devicesInterface = { devices : [{ssid : ssid, name : name}] }
this.storage.set(TOTAL_DEVICES,devices_obj).then(res => {
console.log('device added');
})
}
})
}
}
Я внедряю этот сервис на страницу, а затем вызываю его функцию addDevice с правильными аргументами, которые все прекрасно работают, но во время выполнения при попытке добавитьустройство, с которым оно работает в первый раз, и первое устройство добавляется, в следующий раз, когда оно срабатывает, если условия, которые проверяют, существует ли массив, и пытаются добавить к нему путем нажатия на другой объект, он получает ошибку времени выполнения.
ОШИБКА Ошибка: Uncaught (в обещании): TypeError: _this.devices.push не является функцией
Я полностью застрял в этот момент IDE не показывает ни ошибки, ни компилятора.