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

问题描述 投票:-1回答:1

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

javascript html svg promise fs
1个回答
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);
        })
}
© www.soinside.com 2019 - 2024. All rights reserved.