我的setAttribute
功能存在问题。
这是我的代码
mind.SetRequest(rec_input.value);
mind.Reply();
element.setAttribute('text', mind.GetReply());
element.speak();
element.speak()
并未等待setAttribute
完成。
speak()
完成后是否有任何功能可以调用setAttribute
?
加载img.onload = function(){ . . . }
后调用的img
函数是否有类似的方法可以在speak
之后调用setAttribute
函数?
答案 0 :(得分:2)
试试这个:
mind.SetRequest(rec_input.value);
mind.Reply();
element.setAttribute('text', mind.GetReply());
setTimeout(function () {
element.speak();
}, 0);
setAttribute()
是同步的,但它是基于DOM的方法。这意味着浏览器需要一些额外的处理器滴答来设置该属性。因此,使用超时将代码执行(尝试获取该属性)移动到下一个事件循环。