作为一个不合格的后台程序员,最后想做一个自己的小程序。于是就开始了解 javascript。了解到一个promise 的东西。让我花了好一会儿功夫才有一个粗略了解。
1、 javascript 是单线程运行,promise 虽然异步执行,但是并不新拉一个线程。而是放在一个新的队列里。
2、new promise(function(resolve,reject){//code})的时候,code的部分就已经开始执行,如果不想让它执行就放到一个函数里,作为函数定义的一部分。
3、 function(resolve,reject)想当于一个接口,创建promise 的时候,入参就是这个接口的一个对象。(好吧,我是这么理解的而已)。不同的是,resolve和reject 也是可以执行的函数。规定:只要调用了resolve了,代表成功;只要调用了reject,代表失败
4、resolve的内部至少会做两件事儿,1、把所属的promise状态,由pending(正在执行)改为resolved。2、返回入参。返回给谁呢,promise后续还有一个操作叫then,myFirstPromise.then(function(successMessage){},这个successMessage,就是前面的resolve的返回出来的值。
5、reject类似。
6、then返回值也是个promise,如此可以实现链式调用,类似类似类似JAVA8 里的Stream。
其它基础知识点,网上一大类,就不赘述吧。