場景A:執(zhí)行同步函數(shù)A。用戶在 functionA 執(zhí)行過程中關(guān)閉窗口。窗口關(guān)閉(或刷新)后代碼的執(zhí)行是否會立即停止?想象一下 functionA 對數(shù)據(jù)庫進(jìn)行了許多修改。函數(shù)前半部分的代碼是否有可能改變數(shù)據(jù)庫?如果是這樣,這可能會導(dǎo)致我的項目出現(xiàn)問題。有沒有辦法保證整個功能完成呢?ScenarioB:setTimeout有一段時間后執(zhí)行的回調(diào)。窗口在回調(diào)被放入調(diào)用堆棧之前關(guān)閉(恰好)?;卣{(diào)會執(zhí)行還是會被丟棄?
當(dāng)用戶關(guān)閉窗口(或?qū)Ш诫x開窗口)時執(zhí)行 JS 會發(fā)生什么?
心有法竹
2023-11-02 22:00:13