検索

js はシングルスレッドであり、Promise ソリューションは非同期プログラミングのアイデアであり、従来のコールバック関数やイベントよりもはるかに強力です。 Promise は、非同期操作の結果のプレースホルダーに相当します。イベントをサブスクライブしたり、コールバック関数をターゲット関数に渡したりすることはありません。代わりに、関数は Promise (順序番号に相当) を返します。

約束ってどういう意味ですか?

Promise: 英語のプロミスの意味。Promise オブジェクトは、将来終了するイベント (通常は非同期操作) の結果を保存します。

Promise には 3 つの状態があります: (推奨学習: Javascript ビデオ チュートリアル )

pendding,rejected,resolved

Promise オブジェクトの状態を切り替える方法は 2 つだけです。

pendding->rejected,pendding->resolved

基本的な使用法:

new Promise((resolved,rejected)=>{})

Promise オブジェクトの解決された関数と拒否された関数。非同期イベント状態の pending->resolved コールバックが成功すると、解決された関数が呼び出されます。非同期操作が失敗した場合、拒否された関数が呼び出されます。

Promise の then(resolved,rejected) 関数パラメーターには、解決された関数と拒否された関数の 2 つのパラメーターがあります。

Promise の catch(): then 関数パラメータで拒否されたものと同じ関数を持つ、Promise エラー関数をキャプチャします。エラーを処理します。Promise によってスローされたエラーは泡立つ性質があるため、継続的に渡すことができ、は catch に渡されるため、すべてのエラー処理を catch に配置し、成功したエラーのみが catch で処理されることをお勧めします。

Promise の優れた機能の 1 つは、チェーンで呼び出すことができ、then と catch で Promise オブジェクトを返すことができることです。

Promise.all([promise1,promise2]): パラメータは、Promise オブジェクトの配列です。すべての Promise オブジェクトのステータスが解決されると、オブジェクトのステータスも解決され、その後呼び出されます。 Promise オブジェクトが拒否された場合、オブジェクトのステータスは拒否され、キャッチが実行されます。

Promise.race([promise1,promise2]): レーシング関数。Promise オブジェクトの状態が変化すると、オブジェクトは同じ状態を採用し、対応する関数を実行します。

Promise のライフ サイクル

各 Promise は短いライフ サイクルを経て、最初は保留状態になります。これは、非同期操作がまだ終了していないことを意味します。保留中の Promise も未解決とみなされます。非同期操作が終了すると、Promise は解決されたとみなされ、次の 2 つの状態のいずれかになります:

1. 完了: Promise の非同期操作は成功しました End;

2.拒否: Promise の非同期操作は正常に終了しませんでした。エラーか、他の理由が原因である可能性があります。

状態が変化すると「固定化」され、その状態が維持され、再び変化することはありません。状態が変化すると、promise.then にバインドされた関数が呼び出されます。注: Promise が作成されると、「すぐに実行」され、キャンセルすることはできません。これも欠点の 1 つです。

JavaScript に関連する技術的な記事については、js チュートリアル 列にアクセスして学習してください。

以上が約束ってどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
在Vue应用中遇到Uncaught (in promise) TypeError怎么办?在Vue应用中遇到Uncaught (in promise) TypeError怎么办?Jun 25, 2023 pm 06:39 PM

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

言出必行:兑现承诺的好处和坏处言出必行:兑现承诺的好处和坏处Feb 18, 2024 pm 08:06 PM

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

深入了解Promise.resolve()深入了解Promise.resolve()Feb 18, 2024 pm 07:13 PM

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

实例解析ES6 Promise的原理和使用实例解析ES6 Promise的原理和使用Aug 09, 2022 pm 03:49 PM

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

promise对象有哪些promise对象有哪些Nov 01, 2023 am 10:05 AM

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

PHP 函数返回 Promise 对象有什么优势?PHP 函数返回 Promise 对象有什么优势?Apr 19, 2024 pm 05:03 PM

优势:异步和非阻塞,不阻塞主线程;提高代码可读性和可维护性;内置错误处理机制。

一文带你轻松掌握Promise一文带你轻松掌握PromiseFeb 10, 2023 pm 07:49 PM

前端js学习中,让大家最难受的就是异步的问题,解决异步、回调地狱等问题时你必须得学会promise,对于多数前端程序员来说promise简直就是噩梦,本篇文章就是从通俗易懂的角度做为切入点,帮助大家轻松掌握promise

前端开发利器:Promise在解决异步问题中的作用与优势前端开发利器:Promise在解决异步问题中的作用与优势Feb 22, 2024 pm 01:15 PM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール