<!--#head#--><!DOCTYPE html>
<html>
	<head>
		<!--声明内容-->
		<meta charset="UTF-8">
		<title></title>
		<style>
			#CSS引用#
		</style>
	</head>
	<body>
		<!--组件内容-->
	</body>
	<script type="text/javascript">
		#JS引用#
	</script>
</html><!--#end head#--><!--#css#--><!--#end css#--><!--#js#-->

////ES6 异步回调

子变量 a = 9;

子变量 yibu = 创建 异步回调(方法(成功回调, 失败回调) {
	如果(a == 10) {
		成功回调("成功");
	}否则 {
		失败回调("失败");
	}
})

yibu.状态返回(方法(成功) {
	控制台.输出(成功)
},方法(失败) {
	控制台.输出(失败)
})

yibu.错误返回(方法(失败) {
	控制台.输出(失败)
})

///简写 上面方法的简写

子变量 yibu2 = 异步回调.成功状态("成功");

yibu2.状态返回(方法(成功) {
	控制台.输出(成功)
})

子变量 yibu3 = 异步回调.错误状态("失败");

yibu3.错误返回(方法(失败) {
	控制台.输出(失败)
})

///批量处理

子变量 y1 = 异步回调.成功状态("成功1");
子变量 y2 = 异步回调.成功状态("成功2");
子变量 y3 = 异步回调.成功状态("成功3");

异步回调.批量处理([y1, y2, y3]).状态返回(方法(成功) { 
	控制台.输出(成功)
})

异步回调.批量成功处理([y1, y2, y3]).状态返回(方法(成功) { //必须状态全部为成功
	控制台.输出(成功)
})

////实例 ,状态模拟

子变量 i = 1;
子变量 用户登录 = (成功回调, 失败回调) => {
	延迟调用(() => {
		如果(i == 1) {
			成功回调({ data : "登录成功"})
		}否则 {
			失败回调({ data : "登录失败"})
		}
	}, 2000)
}

子变量 取用户信息 = (成功回调, 失败回调) => {
	延迟调用(() => {
		如果(i == 1) {
			成功回调({ data : "获取成功", 头像地址 : "XXXXX"})
		}否则 {
			失败回调({ data : "获取失败"})
		}
	}, 2000)
}

子变量 p1 = 创建 异步回调(用户登录);

p1.状态返回(方法(成功) {
	控制台.输出(成功)
	子变量 p2 = 创建 异步回调(取用户信息);
	返回 p2;
}).状态返回(方法(成功) {
	控制台.输出(成功)
})
<!--#end js#-->