码迷,mamicode.com
首页 > 其他好文 > 详细

Promise 中的 then总结

时间:2020-07-10 15:43:01      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:mod   return   data   使用   code   log   实例   export   没有   

  • 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总结

标签:mod   return   data   使用   code   log   实例   export   没有   

原文地址:https://www.cnblogs.com/yogic/p/13278949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!