![](/img/trans.png)
[英]Why isn't my Javascript function continuously firing with setTimeout/clearTimeout?
[英]Why isn't my settimeout firing inside an imported module?
我有一個 Vue 組件,它這樣導入一個模塊:
import { sendMsg } from './assets/modules/messages'
sendMsg
看起來像這樣(為簡潔起見進行了簡化)。 有一個setTimeout()
來添加一個人為的(類似人類的)延遲,這樣系統就不會立即回復。
export const sendMsg = async msg => {
console.log(1); //happens
await new Promise(res => setTimeout(res, 1000));
console.log(2); //doesn't happen
}
...但是在超時觸發后什么也沒有,因為超時沒有解決。
如果我將所有代碼直接移動到組件中,而不是從模塊中調用它,它就可以正常工作。 我搜索了“javascript interval not firing inside module”但沒有找到任何東西。 我錯過了什么?
更新:這僅在被App.vue
調用時發生。 如果我從子組件導入/調用 function,它工作正常......
我認為您還沒有閱讀有關 javascript 的文檔。它是異步的,不會等待事件並繼續處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.