Angular - ввод предиктивных значений, вызывающих api - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь сделать прогнозный ввод, который показывает некоторые результаты, вызывающие мой API, теперь я вызываю API каждый раз, когда пользователь вводит букву (keyup), но я хочу, чтобы функция вызывала API каждые 2 секунды.

 setTimeout(()=>{
    service.APIcall().subscibe();

  },2000);

Это то, что я пробовал, но он ждет 2 секунды и вызывает API столько же раз.

1 Ответ

0 голосов
/ 13 апреля 2020

Лучшим способом будет использование массива, а затем отправка каждого письма и ожидание в течение 2 секунд между каждым результатом из API.

myStringArray: String[] = [];

public onKeyDown($event: theEvent(Iforgot)): void {
  myStringArray.push($event.target.value);
}

// check when the user finished to enter keys
private async sendHttpRequest(): void {
 for (let letter in myStringArray) {
   const response = await service.APIcall().toPromise();
   setTimeout(await sendHttpRequest, 2000)
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...