promise 只能返回一个 promise 对象,但是我总是看到一些书本和 GitHub 的代码 return 加上一个返回值的。这是为何?
     1 
                    
                    ghostgril   OP return value 和 resolve(value)的区别在哪里呢 
                 | 
            
     2 
                    
                    grantonzhuang      2018-04-18 23:03:22 +08:00 via Android 
                    
                    传给 then 的函数内返回的值会传给传给下一个 then 的函数 
                 | 
            
     3 
                    
                    grantonzhuang      2018-04-18 23:03:31 +08:00 via Android 
                    
                    @grantonzhuang 绕口。。。 
                 | 
            
     4 
                    
                    grantonzhuang      2018-04-18 23:03:50 +08:00 via Android 
                    
                    @ghostgril 传给 then 的函数内没有 resolve 
                 | 
            
     5 
                    
                    murmur      2018-04-18 23:06:31 +08:00 
                    
                    return Promise.resolve(xxx)了解下朋友 
                 | 
            
     6 
                    
                    ghostgril   OP @grantonzhuang 就是 promise 里面返回值使用 resolve,使用 return 无效?然后 then 里面使用 return 传给下一个 then 的意思 
                 | 
            
     7 
                    
                    ghostheaven      2018-04-19 09:06:47 +08:00 via Android 
                    
                    then 和 catch 中返回 promise,会在这个 promise resolve 或 reject 的时候,把 resolve 或 reject 的结果作为参数传给后面的 then 或 catch。 
                如果返回普通类型的值,就直接作为参数传给下一个 then。  | 
            
     8 
                    
                    ghostgril   OP @ghostheaven 这个 promise 里 return 会如何呢?就是不执行后面的代码了吗 
                 | 
            
     9 
                    
                    ghostheaven      2018-04-24 08:03:49 +08:00 via Android    @ghostgril 函数内任何位置 return 都会结束当前函数,不再继续之后的语句,不知道你想问的是不是这个。对于 promise 也是一样,不过结束返回后 JS 引擎会回调下一个 then 里的函数,并把返回值作为参数传过去,其实你可以使用 setTimeout 自己实现一个类似 Promise 的行为。 
                 |