码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 概念澄清:如何直接拿到promise的返回值


     之前自己写promise,链式调用,拿到than之后的返回值再赋值给全局变量。

    今天看别人操作observable对象:

    1. const fuck = await this.fuckService
    2. .getFuckcode(fuckId)
    3. .toPromise();

    想了想为什么直接赋值给fuck能拿到值。

    要想操作Promise的返回值,可以使用async/await方法去操作,await可以拿到Promise的.then的返回值。但await方法必须要在async函数中使用。

    而async本质就是一个Promise,其实你还在利用Promise操作Promise的值,只是这个方法简单易懂。

    async 函数返回的是一个 Promise 对象。async 函数(包含函数语句、函数表达式)会返回一个 Promise 对象,如果在函数中 return 一个直接量,async 会把这个直接量通过 Promise.resolve() 封装成 Promise 对象。
     

    await等到结果之后呢?

         await 等到了它要等的东西,一个 Promise 对象,或者其它值,然后呢?我不得不先说,await 是个运算符,用于组成表达式,await 表达式的运算结果取决于它等的东西。

        如果它等到的不是一个 Promise 对象,那 await 表达式的运算结果就是它等到的东西。

        如果它等到的是一个 Promise 对象,await 就忙起来了,它会阻塞后面的代码,等着 Promise 对象 resolve,然后得到 resolve 的值,作为 await 表达式的运算结果。

        其实这就是 await 必须用在 async 函数中的原因。async 函数调用不会造成阻塞,它内部所有的阻塞都被封装在一个 Promise 对象中异步执行。
     

  • 相关阅读:
    mescroll 在uni-app 运行的下拉刷新和上拉加载的组件
    Spring Cache 带你飞(一)
    协议栈——创建套接字
    python试题实例
    【python】二:基础学习-组织架构函数等
    条件变量condition_variable实现线程同步
    第三章 数据结构与算法——栈和
    HTML网页设计制作大作业 基于HTML+CSS+JavaScript实现炫丽口红网化妆品网站(10页)
    TensorFlow 2.9的零零碎碎(六)-模型训练和评价
    实现 企业微信认证 网络准入认证 配置
  • 原文地址:https://blog.csdn.net/dongnihao/article/details/126837251
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号