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检查外部异步文件生成的主要内容,如果未能解决你的问题,请参考以下文章

html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma

vscode代码片段生成vue模板

Vue.js 从外部 js 文件调用异步函数

Vue开发技巧--------批量引入文件

将外部 HTML 加载到页面中,包括 Javascript 并在加载时启动 JS

script 异步加载 async 和 defer的区别