Promise是一个解决函数异步执行的对象,有了这个对象,我们可以构造异步执行的操作。Promise对象可以通过链式调用的方式进行异步操作,语法如下:
如下代码,是一个简单的异步方法。
new Promise((resolve,reject)=>{
console.log("promise-> hello,world.this is promise. "+new Date());
setTimeout(()=>{
resolve("hello,world.this is promise. "+new Date());
},1000);
}).then((value)=>{
console.log("then -> "+value);
});
运行这段代码,得到结果如下所示:
通过Proimse我们很好的构建了一个异步操作,then中的函数始终都会在resolve()执行之后才开始执行。resolve()可以携带参数,这个参数到了then里面,就可以通过回调函数中的参数获取了,如题所示的value值,就是通过resolve(args)传递过来的。
另外,这里还有一个reject函数,就是当Promise内部执行出现异常,我们才会调用。这时候,一般then是不会执行的,这里