描述:最近使用html2canvas插件截取页面上指定dom为图片,然后将生成的图片替换页面上的dom后,将替换后的页面内容保存至数据库,结果保存的是保存前的页面,初步判定是html2canvas的异步执行造成的。

参考了两篇博文:

一、H5 -- (功能)基于html2canvas实现长按网页保存为图片到本地

https://blog.csdn.net/weixin_41076513/article/details/80896399

二、漫谈javascript同步&异步编程的N种方式 - ps:将html2canvas变成同步的解决方案

http://www.cnblogs.com/quenteenfix/p/3556269.html

对html2canvas的使用很有帮助,但遗憾的是最终并没有让我实现接下来的同步执行方法;

于是又发现了下面这篇文章:使用ajax 回调函数返回值 使用Promise完美解决(不是异步)

https://blog.csdn.net/fastjack/article/details/79981261

根据文章所讲,发现html2canvas方法返回的确实是一个Promise对象,也确实可以用返回的promise对象.then()或Promise.all().then()方法实现同步执行;

最终打印的顺序:

说明确实Promise.all()中的方法在html2canvas后执行,即为同步执行;

html2canvas改成同步,html2canvas转为图片异步转同步问题(记录)相关推荐

  1. halcon把图片改成单一通道_图片的通道转换

    图片是存储信息的载体.在图像处理(机器视觉)中图片并不是连续的,而是离散的数据点,本质其实就是一个网格,而网格上的每一个点对应着一个或者多个值,该值范围一般是0-255(跟实际存储位数有关,该出只考虑 ...

  2. 怎么把html转换成jpg6,html转为图片(六):xhtmlrenderer

    引入依赖包org.xhtmlrenderercore-rendererR8 不支持css,js 案例:public class Xhtmlrenderer { private String input ...

  3. 什么是同步?什么是异步?

    什么是同步?什么是异步? 同步就是比如你上学没钱了.想让父母转钱给你.期间你一直打电话.但是电话都是打不通.打了一天电话都打不通.就是说你这一天除了打电话之外,没有做其他事情这就是同步. 异步就是比如 ...

  4. html2canvas页面转为图片遇到的坑:文字叠加到一起

    项目场景: PC项目中,点击按钮,由页面转成海报功能,利用html2canvas将dom元素转成图片,然后可以进行右键图片另存为,还可以进行手动点击下载海报 问题描述 页面正常展示,当html2can ...

  5. 设计图片 转为html css,html2canvas 将代码转为图片_html/css_WEB-ITnose

    最近,我通过 众成翻译 学习和翻译了一系列优秀的文章,许多文章都值得向大家推荐.但是,好的技术文章通常都有大段的代码.一般情况下,这并没有什么问题,因为不论是众成翻译.我的博客或者是其他转载技术类文章 ...

  6. 将html保存为图片,html2canvas 将html代码转为图片并保存下来

    html2canvas 将html代码转为图片并保存下来 发布时间:2018-05-22 10:15, 浏览次数:421 , 标签: html canvas 只是测试了下,在 谷歌和360上都可以,但 ...

  7. fla转为html canvas,使用html2canvas将html转为图片

    使用html2canvas将html转为图片,网上找的解决清晰度问题大多存在最后生成的图片错位或者偏移问题. 布局html,其中#img-dom为待转换的html内容,.banner-canvas为输 ...

  8. 为什么html转为word之后图片,html网页转换成word文档,转换成功,并且可以保存图片,但是总是为web版式的格式,怎么改成“页面”格式,多谢...

    html网页转换成word文档,转换成功,并且可以保存图片,但是总是为"web版式"的格式,怎么改成"页面"格式,多谢 html网页转换成word文档,转换成功 ...

  9. 使用html2Canvas将页面转化为canvas图片,最后长按保存到本地,史上最全 html2canvas 使用 踏坑之旅,没有之一

    最近工作中遇到一个需求,类似这样 点击商品二维码,生成一张带有商品图片.标题.描述.二维码等信息的图片,用户长按进行保存. 在使用html2canvas进行项目开发的时候,遇到很多的问题,主要为一下方 ...

最新文章

  1. druid seata 配置_分布式事务解决方案——Seata使用
  2. WindowManager.LayoutParams类22
  3. 怎么转换html文件为mp3,如何把音频转换成mp3_音频文件怎么转mp3格式-系统城
  4. 使用osql执行sql脚本
  5. 【解决pip install 安装报错】No module named ‘_ctypes‘
  6. Love2D游戏引擎制作贪吃蛇游戏
  7. WordCount作业提交到FileInputFormat类中split切分算法和host选择算法过程源码分析
  8. android gb2312 utf-8,不同编码页面之间用form传值出现乱码问题解决方案 utf-8 到 gb2312...
  9. python读取png图片只有一个图层_python实现读取并显示图片的两种方法
  10. idea+spring boot+jrebel7.0.14热启动
  11. 内核管理 之 内核管理概述
  12. pythonjam教程_Python学习:安装配置pycharm编辑器教程
  13. word2vec需要去标点吗_word2vec训练词向量前期处理-中文分词等
  14. 每天一道剑指offer-二叉搜索数的后序遍历序列
  15. 如何删减QQ无用功能 为系统彻底减负
  16. python 异常类型
  17. OpenCore引导配置说明第十三版-基于OpenCore-0.6.6正式版
  18. 毕设题目:Matlab交通标志识别
  19. 用闭包写法优化laravel多条件查询
  20. kafka零拷贝总结

热门文章

  1. 迁移 WinForm 应用从 dotnet framework 到 dotnetcore3.0
  2. C#并行编程(5):需要知道的异步
  3. NetCore基于EasyNetQ的高级API使用RabbitMq
  4. .NET Core VS Code 环境配置
  5. java证书的安装_Java 第三方证书安装
  6. 使用docker搭建redis主从
  7. Linux上搭建Samba,实现windows与Linux文件数据同步
  8. Java 数字相关操作通用类 NumberUtils.java
  9. Android之底部Dialog里面放EditText点击布局顶上去效果
  10. C语言试题二之计算并输出下列多项式值s=1+1/(1+2)+1/(1+2+3)+..1/(1+2+3…+50)