es6 async+fn await+promise

async+fn  

  • ajax     异步刷新
//window.XMLHttpRequest   ajax基础

var xhr;
if(window.XMLHttpRequest){
	xhr = new XMLHttpRequest();  // new  一个对象
    // readyState 4: 请求已完成,且响应已就绪  3  2  1  0  
	// 响应状态 200: "OK" 404: 未找到页面
	xhr.onreadystatechange(()=>{
		  if (xhr.readyState==4 && xhr.status==200){
			console.log(xhr.responseText;);
		  }
	});
	xhr.open(method,url,async);//  post  url   true  异步交互
	xhr.send();
	
}  
  • script.src  jsonp  跨域
  • 同源是指,域名,协议,端口相同
  • 基于安全考虑,当前域不能访问其他域的东西
  • 动态创建<script>标签,然后利用<script>的src 不受同源策略约束来跨域获取数据
  • var script = document.createElement("script");

 

script.src = "url+?q=javascript&count=1&callback=handleResponse";
document.body.insertBefore(script, document.body.firstChild);
// 异步处理函数
function handleResponse(){}
  • async  异步
  • async + function(){}  // 通过Promise.resolved()将字符串封装成了一个Promise对象返回
  • 返回的Promise对象,我们就是用then方法来处理

await+promise

 

  • await  等待
  • await关键字也不能单独使用,是需要使用在async方法中,用于等待异步返回的promise 执行结果
  • await后面只能 是Promise对象么?答案是否定的,可以是字符串,布尔值,数值以及普通函数

 

{
	async getData(){
		// // 发起Http请求函数,返回Promise对象
		const result = await htpReq();
		return result;
	} 
	// 方法一
	loadList(){
		getData.then((result)=>{
			if(result){
				console.log(result);
			}
		})
	}
	// 方法二
	async loadList(){
		const  result = await getData();
		if(result){
			console.log(result);
		}
	}
}

 


https://blog.csdn.net/tcy83/article/details/80544048   es7 关键字 async 详细解释 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值