html2canvas改成同步,html2canvas转为图片异步转同步问题(记录)
描述:最近使用html2canvas插件截取頁面上指定dom為圖片,然后將生成的圖片替換頁面上的dom后,將替換后的頁面內(nèi)容保存至數(shù)據(jù)庫,結(jié)果保存的是保存前的頁面,初步判定是html2canvas的異步執(zhí)行造成的。
參考了兩篇博文:
一、H5 -- (功能)基于html2canvas實現(xiàn)長按網(wǎng)頁保存為圖片到本地
https://blog.csdn.net/weixin_41076513/article/details/80896399
二、漫談javascript同步&異步編程的N種方式 - ps:將html2canvas變成同步的解決方案
http://www.cnblogs.com/quenteenfix/p/3556269.html
對html2canvas的使用很有幫助,但遺憾的是最終并沒有讓我實現(xiàn)接下來的同步執(zhí)行方法;
于是又發(fā)現(xiàn)了下面這篇文章:使用ajax 回調(diào)函數(shù)返回值 使用Promise完美解決(不是異步)
https://blog.csdn.net/fastjack/article/details/79981261
根據(jù)文章所講,發(fā)現(xiàn)html2canvas方法返回的確實是一個Promise對象,也確實可以用返回的promise對象.then()或Promise.all().then()方法實現(xiàn)同步執(zhí)行;
最終打印的順序:
說明確實Promise.all()中的方法在html2canvas后執(zhí)行,即為同步執(zhí)行;
總結(jié)
以上是生活随笔為你收集整理的html2canvas改成同步,html2canvas转为图片异步转同步问题(记录)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 根据url获取html源码,通过URL访
- 下一篇: 小学学校计算机教室使用计划,小学电脑室工