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