创建一个service文件夹
文件夹下面是loading和util文件
loading.service.spec.ts
import { TestBed } from '@angular/core/testing';
import { LoadingService } from './loading.service';
describe('LoadingService', () => {
beforeEach(() => TestBed.configureTestingModule({}));
it('should be created', () => {
const service: LoadingService = TestBed.get(LoadingService);
expect(service).toBeTruthy();
});
});
loading.service.ts
import { Injectable } from '@angular/core';
import { LoadingController } from '@ionic/angular';
@Injectable({
providedIn: 'root'
})
export class LoadingService {
isLoading = false;
constructor(public loadingController: LoadingController) { }
async present() {
console.log("启动loading")
if(this.isLoading){
console.log("已有loading,驳回")
return;
}
this.isLoading = true;
return await this.loadingController.create({
// duration: 5000,
}).then(a => {
a.present().then(() => {
console.log('presented');
if (!this.isLoading) {
a.dismiss().then(() => console.log('abort presenting'));
}
});
});
}
async dismiss() {
console.log("关闭loading")
if(!this.isLoading){
console.log("已关闭loading,驳回")
return;
}
this.isLoading = false;
return await this.loadingController.dismiss().then(() => console.log('dismissed'));
}
}
util.service.spec.ts
import { TestBed } from '@angular/core/testing';
import { UtilService } from './util.service';
describe('UtilService', () => {
beforeEach(() => TestBed.configureTestingModule({}));
it(