function runMicrotask(func) {
if (typeof global !== "undefined") {
console.log("当前运行环境是Node.js");
if (typeof process) {
console.log("使用process.nextTick");
process.nextTick(func);
}
} else {
console.log("当前运行环境是浏览器");
if (typeof Promise === "function") {
console.log("使用promise");
Promise.resolve().then(func);
} else if (typeof MutationObserver === "function") {
console.log("使用MutationObserver");
const observer = new MutationObserver(func);
const oDiv = document.createElement("div");
observer.observe(oDiv, {
attributes: true,
});
oDiv.setAttribute("a", 1);
}
}
}
runMicrotask(() => {
console.log("加入异步队列");
});
console.log("test");
js Node环境 浏览器环境 异步兼容处理
最新推荐文章于 2024-06-16 18:09:06 发布