什么是promise?

简介: 什么是promise?

一个对象,用来处理异步操作。使异步操作写的更优雅、更易于阅读。

从字面上理解,promise是承诺、许诺的意思。意思是使用promise后,不管成功还是失败肯定会有返回值。

promise有三种状态:pending(进行中),resolved(完成),rejected(失败),只有异步返回的结构可以改变其状态。所以,promise的过程一般只有两种:pending->resolved或者pending到rejected。

promise对象还有一个比较常用的then方法,用来执

Promise.prototype.then(resolved,rejected)
var Pro = function (time) {
        //返回一个Promise对象
        return new Promise(function (resolve, reject) {
                console.log('123');
                //模拟接口调用
                setTimeout(function () {     //这里告诉Promise 成功了,然后去执行then方法 的第一个函数
                        resolve('成功返回');
                        }, time);
                    })
                };
        (function(){
            console.log('start');
            Pro(3000)
            .then(function(data){
                    console.log(data);
                    return Pro(5000);})
            .then(function(data){
                    console.log(data);
                    console.log('end');
                })
        })();

行回调函数,then方法接受两个参数


then方法可以接受两个回调函数作为参数。第一个回调函数是Promise对象的状态变为resolved时调用,第二个回调函数是Promise对象的状态变为rejected时调用。其中,第二个函数是可选的,不一定要提供。这两个函数都接受Promise对象传出的值作为参数。

let promise = new Promise(function(resolve, reject) {
    console.log('Promise');
    resolve();});
 
    promise.then(function() {
        console.log('resolved.');
    });
}
 
console.log('Hi!');
// Promise
// Hi!
// resolved

刚创建就会执行

相关文章
|
6月前
|
前端开发 API 容器
说说你对 promise 的了解
说说你对 promise 的了解
33 0
|
前端开发 JavaScript 测试技术
6 # 实现简单的 promise
6 # 实现简单的 promise
38 0
|
3天前
|
前端开发 JavaScript
Promise 的详解
总的来说,Promise 为处理异步操作提供了强大而灵活的工具,使代码更具可读性和可维护性,是现代 JavaScript 中不可或缺的一部分。
|
3月前
|
前端开发 JavaScript
Promise相关的理解
总之,Promise 是现代 JavaScript 异步编程的基石。它们提供了一种优雅的方式来处理异步操作,易于读写和维护,还可以通过其方法来控制复杂的异步流程。
58 5
|
6月前
|
前端开发
对Promise的理解
对Promise的理解
44 2
|
11月前
|
前端开发
Promise
Promise
57 1
|
前端开发
对promise的理解分享
对promise的理解分享
|
前端开发
什么是promise,解决了什么
什么是promise,解决了什么
154 0
|
前端开发 JavaScript
深入理解Promise
深入理解Promise
89 0
|
前端开发 JavaScript
Promise使用详解
JS查漏补缺系列是我在学习JS高级语法时做的笔记,通过实践费曼学习法进一步加深自己对其的理解,也希望别人能通过我的笔记能学习到相关的知识点。这一次我们来了解Promise使用详解
102 0