Ajax请求只返回一次结果

119 篇文章 22 订阅 ¥19.90 ¥99.00
本文探讨了Ajax在for循环中只返回最后一次结果的问题,指出async属性默认为true导致异步请求,可能使vm.chatList只push最后一个返回值。当async设为false,请求变为同步,vm.chatList的push行为则与预期相符。
摘要由CSDN通过智能技术生成

本文主要介绍Ajax在for循环中,请求只返回一次结果的问题解决。

一、async决定了同步与异步请求

1.1 Ajax默认是异步请求,会继续执行Ajax后面的脚本,直到服务器端返回数据后,触发Ajax里的success方法,这时候执行的是多个线程,其根源是async属性默认是 true。
1.2 async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

二、枚举代码
2.1 app.js封装ajax请求
ajax: function(option) {
	ajaxCount++;
	var _ajaxCount = ajaxCount,
	return $.ajax({
		type: option.type || "POST",
		url: app.getItem(app.localKey.url) + option.url,  // 请求的url
		timeout: option.timeout || app.timeout,   // 超时
		async: option.async || false,  // 同步异步控制
		dataType: "json",  // 参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值