IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript — promise基本使用 -> 正文阅读

[JavaScript知识库]JavaScript — promise基本使用

Promise 简介

Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。它能够把异步操作最终的成功返回值或者失败原因和相应的处理程序关联起来,这样使得异步方法可以像同步方法那样返回值:异步方法并不会立即返回最终的值,而是会返回一个 promise,以便在未来某个时候把值交给使用者。

Promise 常见的几种用法

首先定义几个 Promise 对象

const p1 = new Promise((resolve, reject) => {
    setTimeout(resolve, 1000, 'promise-1');
});

const p2 = new Promise((resolve, reject) => {
    setTimeout(reject, 2000, 'promise-2');
});

const p3 = new Promise((resolve, reject) => {
    setTimeout(resolve, 3000, 'promise-3');
});

Promise 按顺序执行异步函数

p1.then((res) => {
    console.log(res);
    return p3;
}).then((res) => {
    console.log(res);
});

Promise.resolve(),返回一个解析过的 Promise 对象

Promise.resolve("Success").then((res) => {
    console.log(res);
}, (error) => {
    // 不会被调用
});

Promise.reject(),返回一个被拒绝的 Promise 对象

Promise.reject(new Error('fail')).then(() => {
    // not called
}, (error) => {
    console.error(error);
});

Promise.all(),批量执行,等待所有都完成(或第一个失败)

Promise.all([p1, p2, p3]).then((res) => {
    console.log(res);
}, (error) => {
    console.log(error);
});

Promise.race(),返回第一个完成的结果(无论成功或是失败),如下:p2 更快,返回失败结果 ‘promise-2’

Promise.race([p2, p3]).then((res) => {
    console.log(res);
}, (error) => {
    console.log(error);
});

Promise.any() ,只要有一个成功,则返回成功的 Promise,没有一个成功,则返回一个失败的的 Promise

Promise.any([p1, p2, p3]).then((res) => {
    console.log(res);
}, (error) => {
    console.log(error);
});
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:19:49  更:2021-08-10 13:22:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:24:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码