Apache的文档说
//html whose image will be created.
<div id="mydiv">
<p>text!</p>
<h1>This is a test!!</h1>
</div>
//div where image will be rendered.
<div id="image">
<p>Image:</p>
</div>
//script to create image of html
<script type="text/javascript" src="/js/html2canvas.js"></script>
<script type="text/javascript">
html2canvas([document.getElementById('mydiv')], {
onrendered: function (canvas) {
var data = canvas.toDataURL('image/gif');
var image = new Image();
image.src = data;
document.getElementById('image').appendChild(image);
}
});
</script>
这很容易理解但是当我在我的代码中使用它时,我不理解跟随行为的原因。
Similar to posix fsync, flush out the data in client's user buffer
all the way to the disk device (but the disk may have it in its cache).
或cat
时,我在文件中看到了该事件。但是,在写了2到3个事件后,我没有看到它们。我要关闭流以查看在文件中刷新的数据。 有人能解释一下这种行为的原因吗?希望我的描述清楚。
答案 0 :(得分:0)
Hsync操作是非常昂贵的IO操作,它将数据从os缓冲区写入磁盘。每次写入后,您必须调用hflush而不是hsync。
有关详细说明,请浏览下面的我的帖子
https://medium.com/@kiran.palaka/how-hflush-works-in-hdfs-hadoop-52d782ed92d3