catch 方法 catch 其实是 then(undefined, () => {}) 的语法糖: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script> let pro            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-27 22:19:00
                            
                                124阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            promise then catch finally All in One            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-03-12 21:51:00
                            
                                138阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            getJSON方法返回一个 Promise 对象,如果该对象状态变为resolved,则会调用then方法指定的回调函数;如果异步操作抛出错误,状态就会变为rejected,就会调用catch方法指定的回调函数,处理这个错误。另外,then方法指定的回调函数,如果运行中抛出错误,也会被catch方法            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-08-21 10:43:00
                            
                                122阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            [  JavaScript 中文开发手册
promise.catch (Promise) - JavaScript 中文开发手册catch() 方法返回一个Promise,只处理拒绝的情况。它的行为与调用Promise.prototype.then(undefined, onRejected)相同。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-07-13 21:11:00
                            
                                49阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            结论: 1、then 正常返回时,Promise的状态为fulfilled 报错时,Promise的状态为rejected 2、catch 正常返回时,Promise的状态为fullfilled 报错时,Promise的状态为rejected 当状态为成功时: const p = Promise.r            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-26 10:53:05
                            
                                572阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            const p = new Promise((resolve, reject)=>{ setTimeout(()=>{ //设置 p 对象的状态为失败, 并设置失败的值 reject("出错啦!"); }, 1000) }); // p.then(function(value){}, functio ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-10 20:13:00
                            
                                121阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            课程地址:点击这里
                    
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-22 02:04:59
                            
                                38阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            虽然Promise是开发过程中使用非常频繁的一个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-05 15:41:55
                            
                                226阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            虽然Promise是开发过程中使用非常频繁的一个技术点,但是它的一些细节可能很多人都没有去关注过。我们都知道,.then, .catch, .finally都可以链式调用,其本质上是因为返回了一个新的Promise实例,而这些Promise实例现在的状态是什么或者将来会变成什么状态,很多人心里可能都没个底。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-06 13:38:02
                            
                                226阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基础 const p = new Promise(function(resolve,reject){ setTimeout(() => { // let data = '数据库中的用户数据'; // resolve(data); let err = '数据读取失败'; reject(err) },             
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-28 15:27:55
                            
                                270阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Promise ES6 语法规范中新增加的内置类,用来处理 JS 中异步编程的,而我们所谓的 promise 设计模式,就是基于 promise 对异步操作进行管理。 对Ajax中的串行、并行导致的回调地狱、其他乱七八糟的事,进行管控。 我的理解:执行Promise的执行器函数executor过程中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-10-19 16:50:00
                            
                                276阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            运行如下测试代码: function testPromise () { return new Promise((resolve, reject) => { setTimeout(() => { resolve('成功!') }, 1000) setTimeout(() => { reject('失败 ...            
                
         
            
            
            
            传统多层异步嵌套(如 “请求 1 成功后请求 2,请求 2 成功后请求 3”)会形成 “回调地狱”,Promise 可通过。是 ES2017(ES8)引入的语法,基于 Promise 实现,让异步代码的写法更接近同步代码,进一步简化异步逻辑。Promise 是 ES6 引入的异步编程规范,主要用于解决 “回调地狱” 问题,让异步代码的逻辑更清晰、更易维护。语句用于捕获代码执行中的异常(错误),避免程序因报错而中断,同时可以自定义错误处理逻辑。(导入)实现模块间的依赖管理,解决全局变量污染、代码复用等问题。            
                
         
            
            
            
            一、如下代码,这样的话报错就逮不到了:报错了,由于没有打印信息,代码也不报错,不知道任何异常。二、如下代码,这样的话代码,就会有打印信息,可以看到错误。            
                
         
            
            
            
            promise.then和promise.catch捕获错误的顺序不同的原因是它们的执行时机以及错误处理机制的不同。当一个Promise被拒绝(rejected)时,它会立即触发错误处理程序。如果存在一个或多个catch方法,它们将按照添加的顺序执行,并且只有第一个匹配的catch方法会被调用。这意味着,当一个错误发生时,...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-07 11:37:02
                            
                                212阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            英文 | https://medium.com/frontend-canteen/10-code-challenges-to-master-promise-then-and-promise-catch-3da2bdea1d97前面,我们要讨论了 Promise 在异步编程中的执行,错过的朋友可以直接点击《10 个 JavaScript Promise 的面试题》这篇文章进行查看。在今天的文            
                
                    
                        
                                                            
                                                                        
                                                                                        翻译
                                                                                    
                            2022-11-07 16:28:27
                            
                                209阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            promise.then和promise.catch捕获错误的顺序不同的原因是它们的执行时机以及错误处理机制的不同。当一个Promise被拒绝(rejected)时,它会立即触发错误处理程序。如果存在一个或多个catch方法,它们将按照添加的顺序执行,并且只有第一个匹配的catch方法会被调用。这意味着,当一个错误发生时,会优先执行最近添加的catch方法。然而,then方法会在Promise状态            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-17 17:42:24
                            
                                152阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本篇,主要实现了 Promise 两个实例 API(原型方法):Promise.prototype.catch 和 Promise.prototype.finally;            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-12-20 23:37:52
                            
                                134阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在 JavaScript 的 Promise 中,错误是否会影响外部代码的执行,取决于是否通过 .catch() 方法或 try/catch 主动捕获错误。以下是详细分析:一、Promise 内部错误的默认行为未捕获的 Promise 错误不会影响外部代码执行Promise 内部的错误(如 reject() 或 throw)如果没有被 .catch() 捕获,不会传播到外部的同步代码或全局作用域,            
                
         
            
            
            
            1、异常捕获 2、冒泡性质 Promise 对象的错误具有“冒泡”性质,会一直向后传递,直到被捕获为止。也就是说,错误总是会被下一个catch语句捕获。 上面代码中,一共有三个 Promise 对象:一个由getJSON产生,两个由then产生。它们之中任何一个抛出的错误,都会被最后一个catch捕            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-03-11 11:19:00
                            
                                187阅读
                            
                                                                                    
                                2评论