`

AS3 异步请求问题

阅读更多

    今天刚接触下flex,满是好奇,正好项目上需要, 顺便学习了下。当时我遇到的一个问题是flash在firefox上运行正常,但是在IE7和Safari上运行则会出现显示不正常的问题,比如我当时遇到的情况是将某条记录assign给某个人,然后这个记录应该在表格中消失(要求不要刷新页面),但实际上它并没有马上去掉,而是要重新加载这个flash的时候,这条记录才会消失不见。后来逐步跟踪才发现是因为在flex调用删除方法时,异步执行了刷新列表的方法,因为此时记录尚未删除, 导致刷新列表的方法没有起到作用。也就说要让执行‘刷新列表’的方法后才继续向下执行。 怎么才能执行这样的方法呢? 我查了相关资料,AS3.0中网络通信是通过URLLoader和URLRequest来加载外部文件, 需要三个过程来实现:

1、使用URLRequest创建通信请求对象。

2、使用通信请求对象,创建URLLoader载入对象,并发出请求的要求。

3、监听URLLoader对象,在响应完成事件后,返回要处理的数据。

因此这里把原来调用刷新列表的方法放到“删除方法”响应完成事件之后,再进行调用,这样就会避免因为删除方法还没有执行完,就执行了刷新的方法。具体的修改如下:

 

var csrListRequest:URLRequest = new URLRequest();

csrListRequest.method="GET";

csrListRequest.url = domain;// domain is the delete request url.

 

var csrListLoader:URLLoader = new URLLoader();

 

csrListLoader.addEventListener(Event.COMPLETE, function(e:Event):void

     {

          // invoke refresh functions.

     });

     csrListLoader.load(csrListRequest);

 

 

 

 

 

参考资料:

      http://edu.docin.com/product-1546330.html;

分享到:
评论

相关推荐

    Nuxt页面自定义meta标签和asyncData异步请求

    一、页面自定义meta标签 可以为每个页面单独设置不同的meta标签 以便于SEO 全局的meta标签在nuxt.config.js文件里配置 而单独的meta标签在组件的内部...从而产生重复 导致一些问题 因此hid要配置成description 以覆盖默

    异步HttpClient

    很多公司使用另开线程池的方式进行异步调用来解决tomcat线程阻塞问题。但由于本系统中接口网络太不稳定,使用线程池也将导致线程池中的线程不断加大,不管使用怎样的线程池策略,最终要么线程池线程全部挂起,要么...

    asp中使用MSXML2.ServerXMLHTTP实现异步请求例子

    asp使用MSXML2.ServerXMLHTTP异步发送请求时,需要注意判断MSXML2.ServerXMLHTTP对象的readyState是否为4,如果不判断直接获取对象的属性,如responseText会出现如下错误: 代码如下: msxml3.dll 错误 ‘8000000a’...

    详解用async/await来处理异步

    昨天看了一篇vue的教程,作者用async/ await来发送异步请求,从服务端获取数据,代码很简洁,同时async/await 已经被标准化,是时候学习一下了。 先说一下async的用法,它作为一个关键字放到函数前面,用于表示函数...

    flex与服务端通信的as封装源码(同步、异步两种方式)

    非常简单,采用HttpService封装,不用依赖BlazeDS,采用JSON数据格式(如果想用XML改造一下即可),可采用GET、POST两种方式与Java、.NET等服务端通信。

    异步方式访问网页.rar

    using System; using System.Collections.Generic; using System.Linq;... // 异步请求 IAsyncResult asyncResult = request.BeginGetResponse(requestCompleted,request); Console.Read(); } } }

    小程序开发中如何使用async-await并封装公共异步请求的方法

    前言 在平常的项目开发中肯定会遇到同步异步执行的问题...3.当然es6中的promise倒是很好的解决了这样的问题,再配合es7的async和await就更完美了,await返回的也是一个promise对象,这个关于promise和async,await的使

    浅谈Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax({ async: false, ... success : fu

    ajax中的async属性值之同步和异步及同步和异步区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现假死...

    详解koa2学习中使用 async 、await、promise解决异步的问题

    这三个东西 可以优雅的解决异步问题。在学习koa2的时候遇到了获取数据后再进行模板渲染的异步问题。在查找各种资料后成功的解决了该问题,现在写个笔记记录一下。 先说一下async、await,第一次见到这两个词是在学习...

    ASP模拟POST请求异步提交数据的方法

    有时需要获取远程网站的某些信息,而服务器又限制了GET方式,只能通过POST数据提交,这个时候我们可以通过asp来实现模拟提交post数据,网上有挺多这样的例子的。下面的是我自己写的比较简洁易懂的函数。...

    Android代码-Android-Http-Example

    取消请求(页面销毁时可调用,防止页面销毁异步请求未取消而导致的crash) 集成的第三方网络请求库 android-async-http 官网:http://loopj.com/android-async-http/ 文档:https://loopj.com/android-async-http/doc/ ...

    async/await让异步操作同步执行的方法详解

    我们经常会遇到这样的麻烦事,多个函数按顺序执行,返回结果却不是我们预期的顺序,原因一般是由于异步操作引起的,所以呢,我们需要一种解决方案来处理这种问题,从而使得异步操作按照同步的方式来执行,这样我们就可以...

    Swoole实现异步投递task任务案例详解

    如webim中发广播,发送邮件等,把这些任务丢给task进程之后,worker进程可以继续处理新的数据请求,任务完成后会异步通知worker进程告诉它此任务已经完成。此外利用task还可以实现PHP的数据库连接池,异步队列等。 ...

    OkBle:BLE客户端框架,使BLE请求像HTTP请求一样简单易用(A library of Android BLE Client, make the BLE request as easy as okhttp)

    1/ 提供异步和非异步,阻塞和非阻塞的BLE请求接口 提供多样化的接口,可以选择你习惯和喜欢的 2/ 实现带优先级的BLE请求队列 带优先级的队列在一些场景比较需要,比如来电时候需要马上通知到设备 3/ 支持多设备同时...

    详解async/await 异步应用的常用场景

    最普遍的异步操作就是请求,我们也可以用 setTimeOut 来简单模拟异步请求。 场景1. 一个请求接着一个请求 相信这个场景是最常遇到,后一个请求依赖前一个请求,下面以爬取一个网页内的图片为例子进行描述,使用了 ...

    Android网络请求库android-async-http介绍

    之前有一篇描述了客户端请求服务器端的方式—Post的请求方式。... 1. 概念: 这个网络请求库是基于Apache ...**(2).**Http异步请求均位于非UI线程,不会阻塞UI操作。 (3).通过线程池处理并发请求处理文件上传、下

    详解ASP.NET MVC下的异步Action的定义和执行原理

    如果我们需要定义异步Action方法,必须继承抽象类AsyncController。这篇问你讲述两种不同的异步Action的定义方法和底层执行原理。 一、基于线程池的请求处理 ASP.NET通过线程池的机制处理并发的HTTP请求。一个Web...

    浅谈node.js中async异步编程

    在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数、ajax请求等等。 示例: for (var i = 1; i <= 3; i++) { setTimeout(function(){ console.log(i); }, 0); }; 这里大部分人会认为输出123,...

    它允许您请求异步数据,将它们存储在 redux 状态并将它们连接到您的 React 组件。

    ReduxAsyncConnect for React Router 你通常如何请求数据并将其存储到 redux 状态? 您创建执行异步作业以加载数据的操作,创建减速器以将此数据保存到 redux 状态,然后将数据连接到您的组件或容器。 通常这是非常...

Global site tag (gtag.js) - Google Analytics