setInterval()解决异步加载,参数传递问题

如题,在异步加载获取页面数据时,有时会调用其他组件,当在传参时有时并不是所有参数都已加载。

异步加载数据获取异常的解决方法:setInterval()

setInterval()这个方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval(x(),y);

x()代表你调用的方法,

y是每隔多长时间调用一次x()方法

例如: setInterval(x(),1000); 
    每隔1秒调用一次x()方法

setInterval() 方法会不停地调用函数,直到clearInterval()被调用或窗口被关闭。

由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

如下: var stv = setInterval(() => {},1000);

      在{}的方法里面调用clearInterval(stv ) 方法,把返回值作为参数。

示例代码如下:

     var stv = setInterval(() => {

    var id = this.id;

    if(id !=0 && id != undefined){

      clearInterval(stv);

      //todo

     }

   },1000);

后记:There are mements in life when you miss someone so much that you just want to pick them from your dreams and hug them for real!

Dream what you want to dream,go where you want to go,be what you want to be,

because you have only one life and one chance to do all the things you want to do.

原文地址:https://www.cnblogs.com/UsefulIdiot/p/12213403.html

时间: 2024-10-29 19:05:51

setInterval()解决异步加载,参数传递问题的相关文章

关于异步加载的 javascript 不出现在 chrome 开发者工具的 source 中的解决方法

首先,当你看到这篇文章时,我相信你已经是一个中级甚至是高级的前端开发了. 因为异步加载 javascript 这样的做法,在一些中小型项目几乎是看不到的. 而异步加载 javascript 归根到底,是为了性能优化,防止 JS 加载造成页面阻塞. 会注意到性能,说明你已经不再是一个停留在实现层面的前端开发了,而是一个有着更高追求的人. 在此,向所有有追求的人点赞~~~ 昨天为公司的项目做前端优化,其中一项就是做脚本异步加载. 但是奇怪的是,异步加载的 js 出现在 chrome 开发者工具的 n

android listview 异步加载图片并防止错位 解决办法

网上找了一张图, listview 异步加载图片之所以错位的根本原因是重用了 convertView 且有异步操作. 如果不重用 convertView 不会出现错位现象, 重用 convertView 但没有异步操作也不会有问题. 我简单分析一下: 当重用 convertView 时,最初一屏显示 7 条记录, getView 被调用 7 次,创建了 7 个 convertView. 当 Item1 划出屏幕, Item8 进入屏幕时,这时没有为 Item8 创建新的 view 实例, Ite

kindeditor官网异步加载示例无效,解决无法通过方法初始化编辑器

官网示例:http://kindeditor.net/ke4/examples/dynamic-load.html 项目中发现一个问题,kindeditor官网是通过 初始化编辑器,但是现在有个需求,通过点击一个按钮使文本域初始化为富文本编辑器,尝试了以下方式 但是点击按钮,完全没有效果. 官网虽然有相应的示例,但是官网上的example根本就跑不起来,not work! 后来发现 异步加载主要的问题是KindEditor.ready无法执行,修改成以下方式即可:

使用Volley框架异步加载图片+ListView图片加载错位解决

上面使用AsyncTask异步加载图片,这里使用Volley框架,图片的缓存不需要自己去处理. BitmapCache类: package com.dystudio.ustc.asyncimageloader_listview_volley; import android.graphics.Bitmap; import android.support.v4.util.LruCache; import android.util.Log; import com.android.volley.tool

JS异步加载的几种方式

一:同步加载 我们平时使用的最多的一种方式. <script src="http://yourdomain.com/script.js"></script> <script src="http://yourdomain.com/script.js"></script> 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止后续的解析,只有当当前加载完成,才能进行下一步操作.所以默认同步执行才是安全的.但这样如果js中有输

JavaScript异步加载

js特点:单线程异步  (其实就是多线程,只是说用异步的方式表现出来了而已) 同步的会阻塞代码,在html中,只有script标签中的src会阻塞代码,可以通过defer属性和async属性进行解决 JavaScript的异步加载:异步加载又叫非阻塞加载,浏览器在下载执行js的同时,还会继续进行后续页面的处理.主要有三种方式. 第一种:defer  只针对IE浏览器 <script type="text/javascript" defer></script> 第

Android异步加载全解析之使用多线程

异步加载之使用多线程 初次尝试 异步.异步,其实说白了就是多任务处理,也就是多线程执行,多线程那就会有各种问题,我们一步步来看,首先,我们创建一个class--ImageLoaderWithoutCaches,从命名上,大家也看出来,这个类,我们实现的是不带缓存的图像加载,不多说,我们再创建一个方法--showImageByThread,通过多线程来加载图像: /** * Using Thread * @param imageView * @param url */ public void sh

Android异步加载全解析之使用AsyncTask

Android异步加载全解析之使用AsyncTask 概述 既然前面提到了多线程,就不得不提到线程池,通过线程池,不仅可以对并发线程进行管理,更可以提高他们执行的效率,优化整个App.当然我们可以自己创建一个线程池,不过这样是很烦的,要创建一个高效的线程池还是挺费事的,不过,Android系统给我吗提供了AsyncTask这样一个类,来帮助我们快速实现多线程开发,它的底层实现,其实就是一个线程池. AsyncTask初探 AsyncTask,顾名思义就是用来做异步处理的.通过AsyncTask,

Android异步加载全解析之大图处理

Android异步加载全解析之大图处理 异步加载中非常重要的一部分就是对图像的处理,这也是我们前面用异步加载图像做演示例子的原因.一方面是因为图像处理不好的话会非常占内存,而且容易OOM,另一方面,图像也比文字要大,加载比较慢.所以,在讲解了如何进行多线程.AsyncTask进行多线程加载后,先暂停下后面的学习,来对图像的异步处理进行一些优化工作. 为什么要对图像处理 为什么要对图像进行处理,这是一个很直接的问题,一张图像,不管你拿手机.相机.单反还是什么玩意拍出来,它就有一定的大小,但是在不同