Promise 中的 then总结
Posted yogic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise 中的 then总结相关的知识,希望对你有一定的参考价值。
-
Promise 中 then
- promise的then中默认返回一个promise实例
- 当then中没有return时返回的是undefined
- 当then中return的对象或者基本类型等非new Promise实例时,对下一个进程then是同时执行的
<!--同时执行111和222--> new Promise(()=>{}) .then(val=>{ console.log(111); return `string`; }) .then(data=>{ console.log(222); return data }) .catch(err=>{ console.error(err) })
- 当then中return的是一个new Promise或者Promise.resolve()等实例时,对下一个进程then时队列顺序执行的
<!--顺序执行 先111再222--> new Promise(()=>{}) .then(val=>{ console.log(111); return Promise.resolve(`string`); }) .then(data=>{ console.log(222); return data }) .catch(err=>{ console.error(err) })
- 在node项目中,多少情况下都是以函数导出导入方式使用Promise【尤其是路由层和数据层】,此时一定要对函数return才有效
<!--函数return--> <!--出 a.js--> const handerGetrouter = (reqObj)=>{ ... return new Promise((resolve,reject)=>{ resolve(6666) }) .then((val)=>{ return val; }) } module.exports = { handerGetrouter } <!--入 b.js--> const {handerGetrouter}=require(‘a‘); ... handerGetrouter(reqObj) .then((data)=>{ console.log(data); .... }) .catch(err=>{ console.error(err) })
以上是关于Promise 中的 then总结的主要内容,如果未能解决你的问题,请参考以下文章