Explanation of Promise in asynchronous programming in es6
//引入模块let fs=require('fs'); //异步读文件方法,但是同步执行function read(url) { //new Promise 需要传入一个executor 执行器 //executor需要传入两个函数 resolve reject return new Promise((resolve,reject)=> { fs.readFile(url,'utf8',function (err,data) { if(err) { reject(err) } else { resolve(data); } }) } ) } ; //缺点 套了一个promise,而且捕获了2次,这两个请求没有依赖关系,时间叠加了// read('./name.txt').then((data)=> { // let obj= { } ; // obj.name=data; // read('./age.txt').then((data)=> { // obj.age=data; // console.log(obj); // } ,(err)=> { // console.log(err); // } )// // } , (err)=> { // console.log(err); // } ); //回调地狱 链式调用//相对好点的方法,同步两个异步依次执行 异常用catch捕获// let obj= { } ; // read('./name.txt').then((data)=> { // obj.name=data; // return read('./age.txt')// } ).then((data)=> { //如果promise返回promise可以继续then// obj.age=data; // return obj //将结果向下继续传递// } ).then((data)=> { // console.log(data) //单独处理结果// } ).catch((err)=> { // console.log(err)// } ); //all方法是promise是类上自带的方法,并发读取,失败一个都失败了,时间只是一个读取的时间//第一个参数 传递的是数组,数组装的是一个个promise对象//调用后会再次返回一个promise实例//最好的写法Promise.all([read('./name.txt'),read('./age.txt')]).then(([name,age])=> { //data就是promise执行成功的结果类型是数组 console.log( { name,age } ); } ).catch((err)=> { console.log(err) } )//race如果一个失败了,都失败,如果一个成功了都成功,很少用// Promise.race([read('./name.txt'),read('./age1.txt')]).then((data)=> { // //data就是promise执行成功的结果类型是数组// console.log(data); // } ).catch((err)=> { // console.log(err)// } )
The above is the detailed content of Explanation of Promise in asynchronous programming in es6. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to remove duplicate values from PHP array using regular expressions: Use regular expression /(.*)(.+)/i to match and replace duplicates. Iterate through the array elements and check for matches using preg_match. If it matches, skip the value; otherwise, add it to a new array with no duplicate values.

1. Programming can be used to develop various software and applications, including websites, mobile applications, games, and data analysis tools. Its application fields are very wide, covering almost all industries, including scientific research, health care, finance, education, entertainment, etc. 2. Learning programming can help us improve our problem-solving skills and logical thinking skills. During programming, we need to analyze and understand problems, find solutions, and translate them into code. This way of thinking can cultivate our analytical and abstract abilities and improve our ability to solve practical problems.

Build browser-based applications with Golang Golang combines with JavaScript to build dynamic front-end experiences. Install Golang: Visit https://golang.org/doc/install. Set up a Golang project: Create a file called main.go. Using GorillaWebToolkit: Add GorillaWebToolkit code to handle HTTP requests. Create HTML template: Create index.html in the templates subdirectory, which is the main template.

Pythonempowersbeginnersinproblem-solving.Itsuser-friendlysyntax,extensivelibrary,andfeaturessuchasvariables,conditionalstatements,andloopsenableefficientcodedevelopment.Frommanagingdatatocontrollingprogramflowandperformingrepetitivetasks,Pythonprovid

C++ programming puzzles cover algorithm and data structure concepts such as Fibonacci sequence, factorial, Hamming distance, maximum and minimum values of arrays, etc. By solving these puzzles, you can consolidate C++ knowledge and improve algorithm understanding and programming skills.

Through GoGet, you can quickly and easily obtain Go modules. The steps are as follows: Run in the terminal: goget[module-path], where module-path is the module path. GoGet automatically downloads the module and its dependencies. The location of the installation is specified by the GOPATH environment variable.

Python is an ideal programming introduction language for beginners through its ease of learning and powerful features. Its basics include: Variables: used to store data (numbers, strings, lists, etc.). Data type: Defines the type of data in the variable (integer, floating point, etc.). Operators: used for mathematical operations and comparisons. Control flow: Control the flow of code execution (conditional statements, loops).

C is an ideal language for beginners to learn programming, and its advantages include efficiency, versatility, and portability. Learning C language requires: Installing a C compiler (such as MinGW or Cygwin) Understanding variables, data types, conditional statements and loop statements Writing the first program containing the main function and printf() function Practicing through practical cases (such as calculating averages) C language knowledge
