Сначала создайте сервис, подобный показанному ниже
import repository from "./realmConfig";
let CatalogsService = {
findAll: function() {
return repository.objects("CatalogsModel");
},
save: function(catalogs) {
repository.write(() => {
repository.create("CatalogsModel", catalogs);
});
},
delete: function() {
repository.write(() => {
let all = repository.objects("CatalogsModel");
repository.delete(all);
});
},
update: function(catalogs, callback) {
if (!callback) return;
repository.write(() => {
callback();
catalogs.updatedAt = new Date();
});
}
};
module.exports = CatalogsService;
, где мой realmConfig
файл имеет вид
import Realm from "realm";
class CatalogsModel extends Realm.Object {}
CatalogsModel.schema = {
name: "CatalogsModel",
primaryKey: "id",
properties: {
id: "string",
name: "string",
url: "string",
status: "int"
}
};
class OffersModel extends Realm.Object {}
OffersModel.schema = {
name: "OffersModel",
primaryKey: "id",
properties: {
id: "string",
name: "string",
url: "string",
status: "int",
machineId: "string",
machineName: "string"
}
};
export default new Realm({
schema: [CatalogsModel, OffersModel],
schemaVersion: 1,
deleteRealmIfMigrationNeeded: true
});
Теперь импортируйте Service.js
, где вы звоните async
вызов сервераи делай свою работу.Для справки см. Ниже код
import CatalogService from './path/to/CatalogService .js'
//get objects
var catalogs = CatalogsService.findAll();
// fire async function , I prefer axios for network calls
Axios.post("SERVER_URL", {
data: catalogs
})
.then(function(response) {
if(response.success)
CatalogsService.delete()
}
Я предполагаю, что вы можете легко изменить findAll()
и delete()
метод в соответствии с вашими потребностями