promise

Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。

Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled/resolved(已成功)和rejected(已失败)。

Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。

注意:我只是new了一个对象,并没有调用它,我们传进去的函数就已经执行了,这是需要注意的一个细节。所以我们用Promise的时候一般是包在一个函数中,在需要的时候去运行这个函数。

var p = new Promise( function(resolve, reject) {
//QF为封装AJAX请求的方式
	QF .get("../php/a.php", {}, function(data) {
		if ( !data.error) {
			resolve(data);
		} else {
			reject(data);
		}
	})
});
p. then( function(data) {
	alert(1)
})
. catch( function(data) {
	alert(2)
})
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页