Угловой попытаться получить после POST - PullRequest
0 голосов
/ 19 сентября 2019

Не могу понять модуль http от angular, все работает хорошо, но когда я вставляю новые данные и делаю новый запрос, он находится в другом порядке, запрос get выполняется до POST

.Событие init (работает)

ngOnInit() {
    this.refresh();
 }
  refresh(){
    this.ps.getFamProv().subscribe((data: any) => {this.famProv = data.familias;});

  }

Журнал сервера:

POST /api/provf/ 201 12.381 ms - 135
GET ALL

Затем вставьте новый элемент

 onSubmit() {
    //POST 
        var res=this.ps.addFamProv(this.formAddP.value.name,
                 this.formAddP.value.rfc);
        this.modalService.dismissAll();
//CALLING THE REFRESH METHOD
        this.refresh();
//TRY THIS 
/*res.then( ()=>{
      this.refresh();
      console.log("refresh");

    });*/
      }

Журнал сервера (сначала получите данные, а затемсоздать новый элемент)

GET /api/provf 304 14.565 ms - -
CREATED PROV FAM

И Служба:

 addFamProv(name, rfc) {
    const obj = {
      name: name,
      rfc: rfc
    };
    return this.http.post(`${this.uri}/provf/`, obj).subscribe(res => {return res;} );
  }

  getFamProv() {return this.http.get(`${this.uri}/provf`);}

Использовать Await или Async ??

1 Ответ

1 голос
/ 19 сентября 2019

Удаляю только функцию suscribe

onSubmit() {
    var res=this.ps.addFamProv(this.formAddP.value.name,this.formAddP.value.rfc);
    res.subscribe( (res) => {
      this.refresh();
    });
    this.modalService.dismissAll();

  }

А потом

addFamProv(name, rfc) {
    const obj = {
      name: name,
      rfc: rfc
    };
    return  this.http.post(`${this.uri}/provf/`, obj);
  }
...