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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML / JS检查外部异步文件生成相关的知识,希望对你有一定的参考价值。

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

答案

由于您在评论中提到过,您通过外部网址访问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);
        })
}

以上是关于HTML / JS检查外部异步文件生成的主要内容,如果未能解决你的问题,请参考以下文章