js中的promise是一个异步编程的解决方案,语法层面上他是一个构造函数,名字为Promise()。
他的作用就是将一个任务task封装为一个Promise类的实例对象,这个对象会将任务自动运行并得到任务结果,而且在得到结果的过程中并不会影响到其他任务的进行。由此实现多个任务的并发进行。
实现异步的过程被隐藏在Promise类的实现过程中,我们只需要将任务交给Promise,Promise给我们一个instance,之后通过instance去拿任务结果就可以了。我们可以创建多个Promise类的实例instance。
下面将介绍Promise用法的一般代码写法。
目录
1,Promise构造函数参数介绍
Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolve和reject。resolve和reject是两个函数,由JavaScript引擎提供,不用自己部署。
//resolve, reject名称不能修改 const promise = new Promise(function(resolve, reject) { // ...some code if ( /*异步操作成功,执行resolve方法,目的一般是将某些结果返回出去*/ ) { resolve(value); } else { /*异步操作失败,执行reject方法,目的一般也是将某些结果返回出去*/ reject(error); } });
2,Promise实例对象的then()方法
Promise 实例生成以后,可以用then方法分别指定resolved状态和rejected 状态的回调函数。也就是对返回的任务结果进行处理。
promise.then(resolved = function(value) { // success,对返回的结果value进行处理 }, rejected = function(error) { //failure,直接把错误类型报给用户 });
3,异步加载图片的例子
异步加载图片
4,Ajax实操
ajax实操
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214970.html原文链接:https://javaforall.net
