什么时候应该直接调用 Promise.resolve() ?

2024-02-29

我见过原生 ES6Promise.resolve()可以直接调用 - 作为静态方法。 Facebook 在他们的 Flux 示例中就是这样使用它的。

但什么情况下我应该这样做呢?排队买东西?或者代替使用window.setTimeout()?


你应该打电话Promise.resolve(object)当你需要创建一个已经解决的承诺时。例如,您可能有一个函数开始从服务器下载资源或返回其缓存版本:

function getImage(imageUrl) {
    if (imageUrl in this.cache) {
        // no need to download, return immediately
        return Promise.resolve(this.cache[imageUrl]);
    } else {
        return new Promise(function(resolve, reject) {
            // start downloading and eventually resolve
        });
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么时候应该直接调用 Promise.resolve() ? 的相关文章

随机推荐

  • 使用 bitbucket 在 Azure 上部署 Angular2 项目时出现 package.json 错误

    我在 azure 上部署 angular2 应用程序时遇到问题 我在以下行中收到错误 engines node 6 2 1 我给出的版本是 WEBSITE NODE DEFAULT VERSION 的值为 6 2 1 任何对此有想法的人请分
  • 字符串中包含组中的任何字符吗?

    我有一组字符 等 我也有一个字符串 可以说 这是我的字符串 我的字符串 我想检查字符串中是否存在任何字符 这不是检查子字符串 而是检查集合中的字符 我可以这样做 my str find or my str find or my str fi
  • 如何创建文件并写入文件?

    最简单的方法是什么用 Java 创建并写入 文本 文件 https docs oracle com javase tutorial essential io file html 请注意 下面的每个代码示例都可能会抛出异常IOExceptio
  • 将一组新数据写入 Plist 而不是覆盖它

    我试图获取一个 plist 来存储多组数据 但每次保存 使用 ActionSheet 中的按钮 时 它都会覆盖前一组数据 我想添加多个 朋友 及其数据 我不太热衷于使用 Core Data 所以我想知道如何使用 Plist 来做到这一点 这
  • NSAsynchronousFetchRequest - 应该在主线程上显式完成更新

    我正在创建一个 NSAsynchronousFetchRequest 其中有一个完成块 我见过各种示例 其中一些包括在主线程上使用调度队列 而另一些则没有 例如 Ray Wenderlich 核心数据手册不会在主线程上调用结果 执行结果时我
  • React Native 堆栈跟踪

    I have React Native App与 Firebase Crashlytics 关联 问题是 firebase 发送不可读的堆栈跟踪 如下所示 有任何方法可以读取此类错误 我只想知道什么时候抛出错误 这是我的堆栈跟踪 致命异常
  • 启用服务器端加密的跨账户访问 AWS SQS

    上下文 AWS 账户 2 中有一个 API 将 SQS url 作为其输入之一并向其发布输出 帐户 1 的所有者希望将此 API 与他自己的 SQS 队列一起使用 账户 1 有一个启用了 SSE KMS 的 SQS 队列 账户 1 的所有者
  • 构建 Qt - NMAKE:致命错误 U1077:“cd”:返回代码“0x2”

    我正在尝试使用 msvc2015 构建带有静态链接的 Qt5 5 但出现以下错误 实际上有很多错误 但我只列出了一些 它们都完全相同 K Archivos de programa Microsoft Visual Studio 14 0 V
  • pack://application:,/ResourceFile.xaml 永远不会工作

    我从来没有能够让资源字典的这种参考格式发挥作用 我缺少什么 设想 创建并组装一些用户控件 在根目录下有所说的文件 根 主题 ColorThemes xaml ColorThemes xaml 文件的构建操作设置为Resource http
  • 覆盖本地资源字典中的系统颜色

    我试图隐藏指示 WPF 中选择的视觉提示ListBox 这个答案 https stackoverflow com questions 4343793 how to disable highlighting on listbox but ke
  • 使用多个类实现一个接口

    这个问题是在一次采访中问我的 我厌倦了在这里谷歌搜索 我有一个包含 100 个方法的接口 我不想在一个类中实现所有这 100 个方法 有没有一种方法可以通过使用多个类来实现这 100 个方法而不重复实现 例如 A 类 仅 实现前 10 个方
  • Android JSON HttpClient 使用 HttpResponse 将数据发送到 PHP 服务器

    我目前正在尝试从 Android 应用程序发送一些数据到 php 服务器 两者都由我控制 应用程序中的表单上收集了大量数据 这些数据被写入数据库 这一切都有效 在我的主代码中 首先我创建一个 JSONObject 在本例中我已将其删减 JS
  • Scala lambda 函数与 map 函数

    我定义以下变量x val x Array 3 2 4 5 它的类型是Array Int Int 当我执行以下操作时 x map a Int b Int gt a b 我收到以下错误 console 28 error type mismatc
  • .Net MVC - 从视图中访问数据库不仅仅是糟糕的做法? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我见过一些开发人员实例化从视图内访问数据库的模型 通常 当他们想要访问 html 部分时 他们会这样做 并且他们只是在视图中创建一个新的视图模型
  • 有没有办法在 Scala 中使用“type”字作为变量名?

    在我的实践中 变量 参数经常用于存储某种类型 通常作为枚举值 在名称中指定实体类通常是没有意义的 就像当函数仅用于处理用户时的 userType 一样 有没有办法可以使用 类型 一词来满足我的需求 而不是使用 tipe kind somet
  • 如何从多维数组中提取列?

    有谁知道如何在Python中从多维数组中提取列 gt gt gt import numpy as np gt gt gt A np array 1 2 3 4 5 6 7 8 gt gt gt A array 1 2 3 4 5 6 7 8
  • 如何在 Struts 2 中的 JSP 页面上显示数据库记录列表(通过 Hibernate 检索)?

    我正在尝试使用 Hibernate 在 Struts 2 中的 JSP 页面中显示数据库记录 我已经成功完成检索部分 但无论我做什么 我似乎都无法在JSP页面中显示数据 我尝试过在互联网上找到的各种解决方案 但无法理解似乎是什么问题 我可以
  • 在端口 80 上运行 Sinatra

    我安装了 Sinatra 它可以工作 但默认使用端口 4567 我希望它在端口 80 上运行 为了让它在端口 80 上工作 我尝试了以下方法 require rubygems require rack handler webrick req
  • 为什么光线追踪器将球体渲染为椭圆形?

    在过去的几天里 我第一次破解了光线追踪器 然而 有一些怪癖困扰着我 我真的不知道如何锻炼 从一开始就存在的一个是场景中球体的形状 渲染时 它们实际上看起来像椭圆形 当然 场景中有透视 但最终的形状仍然显得奇怪 我附上了渲染示例 我遇到的问题
  • 什么时候应该直接调用 Promise.resolve() ?

    我见过原生 ES6Promise resolve 可以直接调用 作为静态方法 Facebook 在他们的 Flux 示例中就是这样使用它的 但什么情况下我应该这样做呢 排队买东西 或者代替使用window setTimeout 你应该打电话