Это больше относится angular
, чем node.js
... Представьте, что ваш запрос mongoDB реализован как угловая служба mongoService
. Представьте, ваше всплывающее окно сделано с помощью ng-bootstrap - NgbModal
. Тогда код на стороне клиента может выглядеть так:
import { Component, Inject, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { MongoService } from './services/mongo.service';
@Component({
selector: 'app-mycomp',
templateUrl: './mycomp.component.html',
styleUrls: ['./mycomp.component.scss']
})
export class MycompComponent implements OnInit, ... {
mr: NgbModalRef;
constructor(...
private mongo: MongoService,
private modalService: NgbModal,
...) {
}
ngOnInit() {
// some initialization ...
}
getFromDB() { // <--- this is the function you call when clicking your button
this.mr = this.modalService.open(content);
mongo.getData().subscribe(
data => {
// ... your data handling ...
this.mr.close();
this.router.navigate(['/anotherroute']);
},
error => {
// ... your error handling ...
this.mr.close();
}
)
}
}
CSS-стиль с песочными часами должен выглядеть примерно так:
...
cursor: wait;
...