智一面教你promise的使用(上)

前几天在智一面看到很多公司的前端对promise的要求都比较高,今天来复习一下。
首先,promise是什么?
我对promise对象的理解,promise就是一个处理异步操作的一个工具。一般情况下,有异步操作时,我们就可以使用promise对象进行封装。
我们先来看一个promise对象的简单使用方法。

new Promise ((resolve,reject) => {
     
	setTimeout(() => {
     
		//成功时调用
		resolve('Hello World')
		//失败时调用
		reject('error message');
	},1000)
}).then(res => {
     
	console.log(res)
}).catch(err => {
     
	console.log(err)
})

new -> 构造函数(1.保存了一些状态信息 2.执行传入的函数)
再执行传入的回调函数时, 会传入两个参数, resolve, reject.本身又是函数,可以执行相应的内容
接着我们继续来看promise的其他处理形式

 new Promise((resolve,reject) => {
     
	setTimeout(() => {
     
		resolve("Hello world");
		reject("error message")
	},1000)
}).then(res => {
     
	console.log(res)
},err => {
     
	console.log(err)
})

这种形式没有catch,报错信息写在then里面
接着我们来看promise的链式调用

new Promise ((resolve,reject) => {
     
	setTimeout(() => {
     
		resolve()
	},1000)
}).then(() => {
     
	console.log('第一次拿到结果!!!')
	return new Promise((resolve,reject) => {
     
		setTimeout(() => {
     
			resolve();
		},1000)
	})
}).then(() => {
     
	console.log('第二次拿到数据,处理代码')
	return new Promise( (resolve,reject) => {
     
		setTimeout(() => {
     
			resolve();
		},1000)
	})
}).then(() => {
     
	console.log('第三次拿到结果,处理代码')
})

今天就先复习到这里,准备后天智一面笔试吧
智一面gtalent提供超多的web前端工程师小程序开发的笔试题

你可能感兴趣的:(es6,javascript,node.js)