ES6, in order to solve the problem of callback hell, Promise was launched, which literally means a promise. Many articles introducing promises are the kind that make people dizzy at first sight. I have been confused for a long time. Today, from my Let’s talk about it ourselves, what exactly is a promise?
Promise is an object (many people will say, are you talking nonsense? Everything in js is an object). You are right. . .
A promise is an object that is called inside the object; the most common way to write it is:
function GetPromise(someting){ let p = new Promise(resolve,reject) //dosometing resolve(str); reject(str) } return p }
This is the most common way to create and use a promise, and its calling method is
GetPromise(somgting).then(function(){}).catch(function(){})
I am lazy, Many people are going to curse at this time. What is then, what is catch, and where does resolve come from, and where does reject come from. When I first came into contact, I was thinking about this problem, but I couldn’t find it after searching online. Tell me well. Now let me explain it in the simplest way. Then is a success callback and catch is an exception callback, so everyone can understand. Everyone will definitely use judgment when writing code. For example,
if(a=1){ alert('我好帅啊‘) }else{ alert('我怎么这么帅’) }
determines which statement to trigger by judging a. Promise is just this advanced writing method. The resolve provided internally is bound to then and reject. To bind the catch, when we instantiate the promise object, we judge inside it when to trigger which callback. When actually using it, we bind the specific callback through then and catch. When we use promises to perform asynchronous operations, we abstract all successful callbacks into resolve and failure callbacks into reject. In actual calls, we bind specific callback functions through then and catch', which is more elegant and abstract, of course. There are more methods in Promise, but I just want to summarize how to get started. No matter how complicated it is, I won't explain it.
The above is the detailed content of A brief introduction to ES6 Promise. For more information, please follow other related articles on the PHP Chinese website!

Vue是一款流行的前端框架,在开发应用时经常会遇到各种各样的错误和问题。其中,Uncaught(inpromise)TypeError是常见的一种错误类型。在本篇文章中,我们将探讨它的产生原因和解决方法。什么是Uncaught(inpromise)TypeError?Uncaught(inpromise)TypeError错误通常出现在

在日常生活中,我们常常会遇到承诺与兑现之间的问题。无论是在个人关系中,还是在商业交易中,承诺的兑现都是建立信任的关键。然而,承诺的利与弊也常常会引起争议。本文将探讨承诺的利与弊,并给出一些建议,如何做到言出必行。承诺的利是显而易见的。首先,承诺可以建立信任。当一个人信守承诺时,他会让别人相信自己是一个可信赖的人。信任是人与人之间建立起的纽带,它可以让人们更加

Promise.resolve()详解,需要具体代码示例Promise是JavaScript中一种用于处理异步操作的机制。在实际开发中,经常需要处理一些需要按顺序执行的异步任务,而Promise.resolve()方法就是用来返回一个已经Fulfilled状态的Promise对象。Promise.resolve()是Promise类的一个静态方法,它接受一个

利用Promise对象,把普通函数改成返回Promise的形式,解决回调地狱的问题。明白Promise的成功失败调用逻辑,可以灵活的进行调整。理解核心知识,先用起来,慢慢整合吸收知识。

Java语言是一种高级编程语言,非常适合用于数学模型的构建和分析。数学模型是数学概念在现实世界中的应用,它们通常用于解决实际问题,例如预测未来趋势、优化生产和制造等。本文将介绍Java语言中常见的数学模型及其应用。线性规划线性规划是一种优化方法,在解决企业最优决策、资源配置以及生产计划等问题中广泛应用。在Java语言中,可以使用ApacheCommons

promise对象状态有:1、pending:初始状态,既不是成功,也不是失败状态;2、fulfilled:意味着操作成功完成;3、rejected:意味着操作失败。一个Promise对象一旦完成,就会从pending状态变为fulfilled或rejected状态,且不能再改变。Promise对象在JavaScript中被广泛使用,以处理如AJAX请求、定时操作等异步操作。

前端开发利器:Promise在解决异步问题中的作用与优势引言:在前端开发中,我们经常会遇到异步编程的问题。当我们需要同时执行多个异步操作或处理多个异步回调时,代码往往会变得复杂、难以维护。为了解决这样的问题,Promise应运而生。Promise是一种用于处理异步操作的编程模式,它提供了一种将异步操作以同步方式进行处理的能力,使得代码更加简洁和可读。本文将介


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
