ES6,為了解決回調地獄的問題,推出了Promise,字面意思上來看是一個承諾,好多介紹promise的文章都是那種讓人一看就眼暈的,我也是迷茫了好久,今天從我自身來說一說,promise到底是個什麼東西
Promise是個物件(好多人要說,你這不是廢話嗎,js萬物皆對像啊)你說得對。 。 。
promise是一個對象,在對象內部進行呼叫;最常見的寫法:
function GetPromise(someting){ let p = new Promise(resolve,reject) //dosometing resolve(str); reject(str) } return p }
這是最常見的創建使用promise的方式,其調用方法為
GetPromise(somgting).then(function(){}).catch(function(){})
偷了個懶,很多人這個時候要罵娘了,這個then是什麼,catch又是什麼,還有resolve是哪裡來的,reject又是哪來的,我剛接觸的時候,也在想這個問題,上網一搜就沒有好好告訴我的。現在我用最簡單的方法來解釋一下,then是成功回調,catch是異常回調,這樣大家能不能明白。大家寫程式碼一定會有用到判斷的時候例如
if(a=1){ alert('我好帅啊‘) }else{ alert('我怎么这么帅’) }
透過判斷a來決定觸發哪一條語句,promise只不過是這種高階寫法,其內部提供的resolve,綁定為是then,reject綁定catch,我們在實例化promise物件時,在其內部進行判斷,在何時觸發哪一回調,在實際使用時,透過then,catch綁定具體的回調。我們在使用promise來進行非同步操作時,將所有的成功回調都抽象化成resolve,失敗回調抽象化成reject,在實際呼叫透過then,catch'來綁定具體的回呼函數,更優雅,也更抽象,當然Promise有更多方法,但我只是想總結一下入門,再複雜的就不是我講解的了。
#以上是ES6 Promise 簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

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


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器