Я видел несколько подобных вопросов, но не было верного решения моей проблемы.
У меня есть два запроса httpClient: один для редактирования, а другой для выбора.Сначала я хочу выполнить операцию редактирования, а затем выбрать операцию.
Я обнаружил, что существует оператор RxJS, названный так, как concat может это сделать.
Я попытался реализовать его, и теперь мой код выглядит следующим образом: (Я знаю, вероятно, это не настоящий код, но это то, что я понимаю)
метод отправки:
public subMit() {
const streamOne = of(this.edit());
const streamTwo = of(this.clear());
const streamThree = of(this.fetch());
const sourcefour = streamOne.pipe(delay(5000));
const result = sourcefour.pipe(concat(streamTwo.pipe(concat(streamThree))));
result.subscribe();
}
Редактирование, очистка и выборка метода:
public edit() {
this.measServ.editbyid(this.meas._id, this.meas).subscribe(
x => console.log(x),
err => console.log(err),
() => console.log('edited')
);
}
public fetch() {
this.measServ.getonebyid(this.myControl.value).subscribe(
x => {
this.meas._id = x._id;
this.meas.measureTitle = x.measureTitle;
this.meas.measureDescription = x.measureDescription;
this.meas.measureSymbol = x.measureSymbol;
}
);
console.log('fetch');
}
public clear() {
this.meas._id = '';
this.meas.measureTitle = '';
this.meas.measureDescription = '';
this.meas.measureSymbol = '';
console.log('clear');
}
Это практический проект, моя главная цель - увидеть его производительность.Поэтому я хочу установить задержку в 5 секунд после ответа на операцию редактирования, а затем выбрать данные.но приведенный выше код не работал должным образом.просто выполнено без задержки.Может быть, я не использовал истинный синтаксис или устаревшие элементы.
Ваш истинный ответ делает меня счастливым.