利用 js MessageChannel 函数进行封装一个函数
新建一个MessageChannel的实例, 获取两个管道, 我们从管道1发送数据, 从管道2进行接收,我们这样就拿到新的数据,这样就能解决深拷贝循环引用问题,
function deepClone(obj) { return new Promise((resolve) => { const { port1, port2 } = new MessageChannel(); port1.postMessage(obj); port2.onmessage = (msg) => { resolve(msg.data); }; }); }