js函数执行顺序,怎麼让一个函数执行完再执行下面的程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js函数执行顺序,怎麼让一个函数执行完再执行下面的程序相关的知识,希望对你有一定的参考价值。

function f1()
refresh();//刷新href.jsp页面
其他函数

function refresh()
window.frames['iframename'].location.href = '/../../href.jsp';

在调用f1()时总是先执行其他函数再回来执行refresh(),怎麼让refresh()执行完再执行下面的语句

这个代码肯定是先执行了refresh,然后执行了其他语句。


你想要的是不是refresh之后iframe里的页面加载完再执行其他语句?

function f1()
    // 监听iframe的onload事件
    window.frames['iframename'].onload = function() 
        //其他语句
    ;
    refresh();


function refresh()
    window.frames['iframename'].location.href = '/../../href.jsp';

追问

这个代码是先执行了refresh,不过refresh()会把window.frames['iframename'].location.href = '/../../href.jsp'跳过或者说没有执行完这一句,就接着执行其他语句了,我现在想要的理想效果是refresh完全执行了再接着执行。(我这个是GIS项目,refresh是刷新包含地图的iframe页面)

追答

所以给iframe加了onload事件。在onload事件里写其他语句之后就可以在iframe加载完之后执行其他语句了。

参考技术A setTimeout(其他函数,1)追问

这个我试过,还是没达到理想效果

本回答被提问者采纳

以上是关于js函数执行顺序,怎麼让一个函数执行完再执行下面的程序的主要内容,如果未能解决你的问题,请参考以下文章

js的执行和调试

js如何判断某个函数是不是执行完?

js 怎么让方法执行有先后顺序

多个请求执行完再执行下一个方法(vue Promise.all用法)

Nodejs基础(5-6)HTTP概念进阶

js Promise 等待多个异步操作执行完再去做一些操作