我想在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);
})
}