У меня есть вопрос, пожалуйста, объясните мне
import { Component, OnInit,ViewChild,ElementRef } from '@angular/core';
import {Http,Headers} from "@angular/http";
import { Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent, Subscription } from 'rxjs';
import { map, filter, debounceTime, tap, switchAll, count } from 'rxjs/operators';
@Component({
selector: 'app-content',
templateUrl: './content.component.html',
styleUrls: ['./content.component.css']
})
export class ContentComponent implements OnInit {
constructor(private http:Http) {
}
@ViewChild('abcde') abcde: ElementRef;
private typeTerm = new Subject<string>();
public result:string="";
}
И переменная вызова функции Результат
fTyping(a){
this.result="abcd"; //It Working
if(this.timeout){ clearTimeout(this.timeout);}
this.timeout = setTimeout(function() {
this.result="efgh"; //**Not Working**
const url="http://localhost:81/api/films/GetFilms",body=JSON.stringify({username:"admin",password:"admin",page:1,"search":a,sort:this.txtSort});
const requestHeader = new Headers({ 'Content-Type': 'application/json' });
http1.post(url,body,{ headers : requestHeader }).toPromise().then(res=>{
temp=res.json();
console.log(res.json().length);
this.isLoading=false;
if(res.json().length<10){
this.isData=false;
}
else
this.isData=true;
}).catch(x=>{
this.result=JSON.stringify({Name:"No data",Title:"No Data",Manufacture:"No Data",Country:"No Data"});
this.isLoading=false;
this.isData=false;
});
},500);
}
Проблема: Почему в функции setTimeout this.result не просыпается.Есть ли способ для его работы в функции setTimeout ?