指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

最忌做项目遇到问题,接口返回了Promise 对象,如何不能从外面拿到这个对象的属性值,后来发现,这个对象 的属性是不能从外面拿到的,之恶能通过链式操作取值

//假如 foo()返回的是一个Promise对象
foo().then((result) => {
            console.log(result)
        })
        .catch((error) => {
            console.log(error)
        })
        
//在上面的代码中,当 Promise 对象成功时,控制台将打印 Promise 的结果。如果 Promise 失败,则控制台将打印错误信息。请注意,使用 Promise 的 then 方法时,必须提供成功回调函数,否则 Promise 的结果将被丢弃。

其实promise还有更深的链式操作,如下 getResult 函数有一个 promise 对象的参数:

getResult:   function (p) {
         p.then((result) => {
            console.log(result)
            console.log('执行「这个」”');
            return new Promise(function (resolve, rejected) {
                resolve(1)
            })
        }).catch((error) => {
            console.log('执行「那个」');
            return new Promise(function (resolve, rejected) {
                resolve(0)
            })
        }).then((value) => {
            console.log(value) //这个 value 可能是 1 也可能是2 ,但是在nuxt3下无法被使用,在单独vue项目应该是能被使用的
        })
    }