Сначала я установил точку останова в строке let, в строке if и в строке await.
Предполагая, что я разбиваю строку let и затем нажимаю run до следующей точки останова, код переходит к следующей точке останова.
Однако, если я в строке let, я могу нажать stepи перейдите к строке const test
, снова нажмите шаг, и он перепрыгнет через оператор if и перейдет к строке const test2
.Нажатие run не приводит к строке ожидания, а нажатие на шаг вперед или назад после достижения test2 приводит к тому, что я перехожу на другой код.
Как бывший пользователь Visual Studio, это действительно странное поведение для меня.Я не знаю, есть ли это особенность TypeScript или что-то связанное с TypeScript / JavaScript и конструкцией async / await.
Я несколько раз перестраивался, чтобы убедиться, что мой код соответствует тому, что выполняется на сервере.
Я думал, что строка ожидания должна быть нажата, затем она должна приостановить остальную часть функции.
public async requestList() {
let res = this.cache.get(serializedParam);
const test = 'test';
if (!res) {
const test2 = 'test2';
const _res = await Function(param);
}