promise基础用法

  1. /**
  2. * Created by liyinghao on 2016/11/6.
  3. */
  4. const fs = require(‘fs‘);
  5. /*
  6. * 新建一个Promise对象,Promise就是一个容器,里面放置一个异步执行的API
  7. * */
  8. const p1 = new Promise((resolve, reject)=>{
  9. fs.readFile(‘./a.txt‘,‘utf8‘,(err,data)=>{
  10. if(err){
  11. /*
  12. * 容器中异步任务失败之后调用reject方法,把错误对象传递给reject,同时终止程序的执行
  13. * */
  14. return reject(err);
  15. }
  16. /*
  17. * 容器中的异步任务成功之后调用resolve方法,把结果传递给resolve方法
  18. * */
  19. resolve(data);
  20. })
  21. });
  22. const p2 = new Promise((resolve,reject)=>{
  23. fs.readFile(‘./b.txt‘,‘utf8‘,(err,data)=>{
  24. if(err){
  25. return reject(err);
  26. }else{
  27. resolve(data);
  28. }
  29. })
  30. });
  31. /*
  32. * promise对象一经创建,立即执行,可以通过执行创建的promise对象的then方法获取resolve方法中的值,
  33. * then方法需要一个回调函数,回调函数就是resolve方法
  34. * */
  35. p1.then(data=>{
  36. console.log(data);
  37. return p2;
  38. /*
  39. * 返回一个promise继续进行链式调用
  40. * */
  41. }).then(data=>{
  42. console.log(data);
  43. })
  44. /*
  45. * catch方法可以把之前任务中所有可能遇到的错误都捕获到
  46. * */
  47. .catch(err=>{
  48. throw err;
  49. });

来自为知笔记(Wiz)

时间: 2024-08-05 13:53:53

promise基础用法的相关文章

整理一下Promise 的用法

Promise 的定义 Pormise是JS的异步编程的一种解决方案,在ES6将其写进了语言标准,提供了原生的Promise对象. Promise简单来理解就是一个容器,里面存放着某个未来才会结束的事件结果.Promise是一个对象,从它可以获取异步操作的消息,Promise提供了统一的API,各种异步操作都可以用同样的方法进行处理. Promise有下面两个特点: 对象的状态不受外界影响.有三种状态:padding(进行中).fulfilled(成功).rejected(失败).只有异步操作的

sass基础用法

sass基础用法 SASS是什么 传统的CSS是一种单纯的描述性样式文件,然而SASS可以对CSS进行预编译处理. 在SASS源码中可以使用变量.函数.继承等动态语言的特性,并且可以编译成CSS文件. 安装与使用 安装 由于sass是ruby写的,所以想要使用sass就需要安装ruby环境.然后再使用gem安装sass. 输入下面的命令进行安装sass: gem install sass 可以使用sass -v命令查看sass的版本. 使用 新建一个后缀名为.scss源码文件,就可以编辑sass

游标基础用法

Create PROCEDURE P_InsertSubject@SubjectId intASDECLARE rs CURSOR LOCAL SCROLL FORselect studentid from student where StudentGradu = 1OPEN rsFETCH NEXT FROM rs INTO @tempStudentIDWHILE @@FETCH_STATUS = 0BEGINInsert SelSubject values (@SubjectId,@temp

Cocos数据篇[3.4](6) ——SQLite3数据库基础用法

[唠叨] 在Cocos2d-x中,简单数据存储,可以使用UserDefault.那么如何存储大量,不规则的数据?我们可以使用 SQLite数据库 存储数据.SQLite 是使用非常广泛的 嵌入式数据库 ,它有小巧 .高效.跨平台.开源免费和易操作的特点.所以大量的被用于手机.PDA.MP3播放器.以及机顶盒设备. SQLite数据库是使用C语言来编写的,因此在Cocos2d-x使用SQLite也是得心应手. 本文介绍一下SQLite3数据库的基础用法:增删改查. PS:另外对于SQLite的可视

sed命令基础用法

    sed(Stream EDitor)简介 sed是一个流编辑器编辑器,本身是一个管道命令,主要以行为单位处理文本文件,可以将数据进行替换.删除.新增.选取等特定工作:sed并不会处理文本文件本身,而是每当处理一个文件时,按顺序逐行读取到模式空间(内存)中,而后在模式空间中完成编辑,把编辑的结果输出到屏幕上,接着处理下一行,反复操作,直到文件结尾. 模式空间:将读取的内容放在内存中的一块区域编辑,这些内存空间就称为模式空间 格式: sed [options]    'Address Com

2017.04 vue学习笔记---08表单控件绑定---基础用法

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> div{ margin-bottom: 30px; } </style> <script src="js/vue.js"></script> <

UIButton的最基础用法

UIButton的最基础用法 UIButton (1) 创建显示一个Button      //演示UI中按钮类UIButton使用 //需求: 想要在界面上显示一个按钮 //解决:   使用UIButton按钮类  //<1>创建按钮,一般需要指定按钮的风格 //系统样式的按钮:  UIButtonTypeSystem //如果创建带图片的: 一般选用UIButtonTypeCustom //圆角矩形: ios7不再使用UIButtonTypeRoundedRect //UIButtonTy

Vue组件基础用法

前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需,使用不同的组件来拼接页面.这种开发模式使前端页面易于扩展,且灵活性高,而且组件之间也实现了解耦.本文将详细介绍Vue组件基础用法 概述 组件是一个自定义元素或称为一个模块,包括所需的模板.逻辑和样式.在HTML模板中,组件以一个自定义标签的形式存在,起到占位符的功能.通过Vue.js的声明式渲染后,

sed基础用法

在linux系统中,sed的文本处理无疑是一个非常强大的工具,用好sed可以使我们工作效率成倍提升,下面就小结一下sed的常用命令参数,只需关注常用的即可. 选项参数 首先来一发sed --help了解一下常用的参数 # sed --help Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]... -n  忽略打印输出,一般是避免默认输出,只有我们处理的那一行文本会显示在屏幕上 -e  在命令行进行文本的处理