【ES6】Promise.allSettled的用法

news2024/11/17 3:09:46

Promise.allSettled() 是一个Promise方法,用于处理一个Promise数组,返回一个新的Promise数组,每个元素对应原始Promise的状态。这个方法可以用于处理多个异步操作,并且能够获取每个操作的结果和状态。

下面是Promise.allSettled()的详细代码示例:

    const promise1 = Promise.resolve(3);
    const promise2 = new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(4);
        }, 1000);
    });
    const promise3 = new Promise((resolve, reject) => {
        setTimeout(() => {
            reject(new Error('Error!'));
        }, 2000);
    });

    Promise.allSettled([promise1, promise2, promise3]).then(results => {
        console.log(results);
        results.forEach(result => {
            console.log(result.status); // "fulfilled" 或 "rejected"
            if (result.status === 'fulfilled') {
                console.log(result.value); // 成功的结果值
            } else {
                console.log(result.reason); // 错误原因
            }
        });
    });

输出结果:
在这里插入图片描述

在上面的代码中,我们创建了三个Promise对象:promise1、promise2和promise3。promise1已经解析,promise2将在1秒后解析,promise3将在2秒后被拒绝。

然后,我们使用Promise.allSettled()方法处理这三个Promise对象,返回一个新的Promise对象。这个新的Promise对象在所有原始Promise都完成后才解析,并将每个原始Promise的状态和结果存储在一个数组中。

最后,我们使用.then()方法处理新的Promise对象,并打印出每个原始Promise的状态和结果。如果Promise已实现(fulfilled),则打印出状态"fulfilled"和结果值;如果Promise被拒绝(rejected),则打印出状态"rejected"和错误原因。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/956954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于蛇优化算法优化的BP神经网络(预测应用) - 附代码

基于蛇优化算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于蛇优化算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.蛇优化优化BP神经网络2.1 BP神经网络参数设置2.2 蛇优化算法应用 4.测试结果:5.Matlab代…

ChatGPT~Error1015You are being rate limited

目录 问题背景 问题的原因 下来说说解决方案 总结 问题背景 今天使用Chatgpt的时候突然出现"You are being rate limited"的错误提示。 问题的原因 小问题了,又不是第一次被弄出来了,莫慌。 让我们先看看Chatgpt自己是怎么解释这个问题…

GE Diary 0001

今天是入职GEHC的第一天,虽然是OD岗位,但是员工氛围暂时没感觉有什么差异,领导也很随和。 公司印象:GEHC目前给我的印象是典型的外企:朝九晚五、无需打卡(OD岗位需要打本公司的卡)、短小精悍的会…

2781. 最长合法子字符串的长度

2781. 最长合法子字符串的长度 C代码:滑动窗口、哈希表 typedef struct{char* str;UT_hash_handle hh; } HashTable;HashTable* head;void AddToHash(char* str) {HashTable* out (HashTable*)malloc(sizeof(HashTable));out->str str;HASH_ADD_STR(head, str…

Opencv基于文字检测去图片水印

做了一个简单的去水印功能,基于文字检测去图片水印。效果如下: 插件功能代码参考如下: using namespace cv::dnn; TextDetectionModel_DB *textDetector0; void getTextDetector() {if(textDetector)return;String modelPath "text_de…

C++ 学习系列 -- const 关键字

C 中引入了 const 关键字,被 const 关键字修饰的变量其值不能修改,是只读的。 一 const 变量的初始化与存储 1. const 变量初始化时就需要赋初值,否则无法编译通过 二 const 与指针 指针常量: 指针所指向的值不可改变&…

Mysql数据库(2)—事务和锁

一、事务 数据库事务的特性? 数据库事务的四大特性是ACID。 原子性:就是所有操作要么全不做,要不全做。通过undo日志来实现。一致性:就是在并发情况下数据库由一个状态转移到另一个状态的数据要一致。通过事务的隔离级别来实现…

查询优化器内核剖析第一篇

SQL Server 的查询优化器是一个基于成本的优化器。它为一个给定的查询分析出很多的候 选的查询计划,并且估算每个候选计划的成本,从而选择一个成本最低的计划进行执行。实际上, 因为查询优化器不可能对每一个产生的候选计划进行优化&#xff…

2023-8-31 spfa求最短路

题目链接&#xff1a;spfa求最短路 #include <iostream> #include <cstring> #include <algorithm> #include <queue>using namespace std;const int N 100010;int n, m; int h[N], w[N], e[N], ne[N], idx;int dist[N]; bool st[N];void add(int a…

360勒索病毒:了解最新变种.360,以及如何保护您的数据

引言&#xff1a; 近年来&#xff0c;网络安全威胁不断演变&#xff0c; 360 勒索病毒作为其中的一种恶意软件&#xff0c;已经对许多个人和组织的数据造成了巨大的损失。本文91数据恢复将介绍 360 勒索病毒的特点&#xff0c;探讨恢复被其加密的数据的方法&#xff0c;并分享一…

ctfshow 红包题

前言&#xff1a; 最近一直在搞java很少刷题&#xff0c;看见ctfshow的活动赶紧来复现一波~ ctfshow 红包挑战7 <?php highlight_file(__FILE__); error_reporting(2); extract($_GET); ini_set($name,$value); system("ls ".filter($_GET[1])."" )…

重要变更 | Hugging Face Hub 的 Git 操作不再支持使用密码验证

在 Hugging Face&#xff0c;我们一直致力于提升服务安全性&#xff0c;因此&#xff0c;我们将修改 Hugging Face Hub 的 Git 交互认证方式。 从 2023 年 10 月 1 日 开始&#xff0c;我们将不再接受密码作为命令行 Git 操作的认证方式。我们推荐使用更安全的认证方法&#xf…

敏感接口权限校验

前端校验 &#xff08;从前端或者从token里面拿一下&#xff09;&#xff0c;看一下用户有没有这个页面的权限&#xff08;但是一般不用&#xff0c;因为nodejs也可以写后端&#xff0c;但是放到前端去校验不安全&#xff09; 后端校验 需要梳理敏感数据接口&#xff0c;将这…

R语言图形的组合( par(),layout(),par(fig()) )

引入d.class进行画图 > d.class<-read.csv("D://class.csv",header T) > attach(d.class) > opar<-par(no.readonly TRUE)非常简单的数据&#xff0c;需要可自取 链接&#xff1a;https://pan.baidu.com/s/1zNx5z9JsaaRqFueRgGY3mQ 提取码&#x…

FFDNet-pytorch版本代码训练教程

一、FFDNet-pytorch版本代码下载 (1)FFDNet-pytorch下载 https://download.csdn.net/download/qq_41104871/88233742 (2)FFDNet-pytorch版本代码运行环境配置 https://blog.csdn.net/qq_41104871/article/details/132497008 二、FFDNet-pytorch版本代码训练教程 (1)按…

H桥驱动电路的反向电动势的吸收

下图是应用于智能灌溉系统驱动脉冲电动阀的H桥电路&#xff0c;有一个小问题。 H桥驱动电路 由于电动阀的线圈呈现感性。当正向或者反向驱动信号断开时&#xff0c;流过线圈的电流不能突变。 在线圈两端会产生与驱动信号反相的反向电动势。 驱动信号断开时&#xff0c;线圈产生…

是否在业务中使用大语言模型?

ChatGPT取得了巨大的成功&#xff0c;在短短一个月内就获得了1亿用户&#xff0c;并激发了企业和专业人士对如何在他们的组织中利用这一工具的兴趣和好奇心。 但LLM究竟是什么&#xff0c;它们如何使你的企业受益?它只是一种炒作&#xff0c;还是会长期存在? 在这篇文章中我…

行业追踪,2023-08-31

自动复盘 2023-08-31 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

记录生僻字编码问题

目录 生僻字消失?hexdump 生僻字消失? 前段时间遇到一个问题&#xff0c;对方系统确认推送的文件里客户姓名为3个字&#xff1a;倪明&#xff0c;中间字如下&#xff1a; PS: 忽略上面的编码哈&#xff0c;只看汉字 且文件为UTF8格式&#xff0c;本系统接收后转码为GB18030…

BMC相关知识

简介 BMC&#xff08;Baseboard Management Controller&#xff09;&#xff0c;基板管理控制器&#xff0c;普通PC没有&#xff0c;服务器产品必备。BMC是一个独立的系统&#xff0c;只要通电即可运行&#xff0c;服务器无需开机&#xff0c;不依赖其它软硬件&#xff0c;如O…