【发布时间】:2019-03-05 05:07:39
【问题描述】:
这可能是一个常见/直截了当的问题,但很难找到解决方案。我在 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(); }
日志会立即打印,因此 await 一定不能正常工作。为格式化道歉。我已阅读有关此主题的多篇文章,并认为这应该有效,但事实并非如此。
【问题讨论】:
标签: angular typescript async-await