这可能是一个常见/直接的问题,但是很难找到解决方案。我在Typescript angular中的异步调用不起作用。选择下拉列表后,我想将焦点设置为文本框(在下拉列表中)。我正在使用元素id设置焦点。问题是它有50%的时间会起作用,但是随后它还会经常说“找不到未定义的元素”(在完全相同的情况下),因为直到下拉列表打开之前,该元素尚未放入html中(我猜测在打字稿执行之前html生成的时间大约是一半,而不是一半)。
async delay(ms: number) {return new Promise( resolve => setTimeout(resolve, ms) );}
async setFocus() { await delay(30000); log; getElement; focus(); }
日志将立即打印,因此等待不能正常进行。道歉的格式化。我已经阅读了有关该主题的多篇文章,并认为这应该可行,但事实并非如此。
答案 0 :(得分:-1)
写了这个,甚至想把它发布给我最近想出来的那些人,但都觉得很有趣。更正了this.delay,因为显然延迟是指其他内容。我可能很快会发布的新问题:原来这也延迟了盒子的整个打开时间,所以问题没有解决。