HTML / JS检查外部异步文件的生成

时间:2018-07-26 09:29:10

标签: javascript html svg promise fs

我想在HTML / js应用程序中显示由第三方应用程序生成的svg。我的问题是svg生成是异步的,并且当HTML尝试加载svg时,文件可能丢失(当时未写入)或不完整(正在进行写入)。 我查看了Promise,但没有任何检查外部文件可用性的示例。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

自从您在评论中提到以来,您可以通过外部网址访问svg:

您可以使用JavaScript / Jquery检查是否存在外部文件(只要您可以通过http访问)

因此,您可以像这样进行检查。如果找到该文件,则更新映像src,否则,请稍后重试:

这里有一些示例实现:

//example retry delay of 3 seconds
var delay = 3000;
var url = "http://www.doma.in/path/yourimg.svg";

function tryUpdate(){
    $.get(url)
        .done(function() { 
            //your picture exists
            updateImgSrc();
        }).fail(function() { 
            // picture doesn't exist yet -> retry after time
            setTimeout(tryUpdate, delay);
        })
}