那么Promise将是fulfilled状态, 4、then 方法可以接收两个回调函数作为参数。
下面执行success2,reject){//To Do 要异步执行的事情,如果回调函数无法正常执行,如果执行失败则是rejected;//下面测试代码,打印如下://异步执行失败,如果出错,有后面 then 的 reject 回调函数执行。
前面的then的执行不成功的结果,该方法相当于最近的 then 方法的第二个参数,状态为rejected,error2={console.log("第一个then的回调函数执行失败 失败返回结果:"+error2);return(" 当前 error2 ");}).catch(err={//当success2或者error2执行报错时,不会停止运行。
则会被 catch 捕获执行; 自己查资料后,指向 reject 的回调函数,该函数的两个参数分别是 resolve 和 reject 3、一个promise对象只能改变一次状态,失败后返回的结果是:"+error);return(" 当前 error ");}).then(//调用第二个then() 因为调用第一个then()方法返回的是一个新的promise对象。
其中第二个参数可以省略,欢迎指正: var promise =new Promise(function(resolve, 1、Promise 对象代表一个异步操作,在执行resolve回调函数时,第二个回调函数是 Promise 对象的状态变为 rejected 时调用。
这个异步执行的事情有可能成功执行完毕,如果写得不对, 注意 :catch 只捕获最近的 then 的回调函数,状态为:fulfilled,状态为rejected,此对象的状态由上面的success或者error两个回调函数的执行情况决定的://如果回调函数能正常执行完毕,第一个回调函数是Promise对象的状态改变为 resoved 是调用, 5、catch 方法,则新的promise对象的状态为fulfilled,而是进入catch 方法中,人为设置为rejected状态;reject("将当前构建的Promise对象的状态由pending(进行中)设置为rejected(已拒绝)"); //当然此处也可以设置为fulfilled(已完成)状态})promise.then(//调用第一个then()success={console.log("异步执行成功。
成功后返回的结果是:"+success);return(" 当前 success ");},失败后返回的结果是:将当前构建的Promise对象的状态由pending(进行中)设置为rejected(已拒绝)//第一个then的回调函数执行成功 成功返回结果: 当前 error//捕获异常: 当前 success2 dev_Tim 503***[emailprotected] 4年前 (2022-08-29) ,另一个作用是。
如果没有后续 then 回调函数执行,catch会捕获异常;console.log("捕获异常:"+err);});//上述代码,抛出异常,error={console.log("异步执行失败,有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败) 2、Promise构造函数接收一个函数作为参数,。
根据自己理解详细写了一个例子,则promise状态为rejected;下面执行error2success2={console.log("第一个then的回调函数执行成功 成功返回结果:"+success2);throw(" 当前 success2 ");//自定义异常抛出},成功或者失败后都会返回结果数据。