vue-promise的概念

Promise 概述:

 Promise 是异步编程的一种解决方案,从语法上讲,Promise 是一个对象,从它可以获取异步操作的消息。

 

Promise是一个构造函数,所以可以 new 出一个Promise的实例;

 

在Promise上有两个函数 resolve (成功之后的回调函数)和 reject (失败后的回调函数);

在Promise构造函数的prototype属性上,有一个 .then() 方法

所以只要是Promise构造函数创建的实例,都可以访问到 .then()方法

Promise表示一个一步操作,每当我们new一个Promise的实例,这个实例就代表具体的 异步 操作。

Promise创建的实例,是一个异步操作,这个异步操作结果,只有两种结果:

状态1:异步执行 成功,需要在内部调用成功的回调函数resolve把结果返回给调用者
状态2:异步执行 失败,需要在内部调用失败的回调函数reject把结果返回调用者

由于Promise的实例是一个异步操作,所以内部拿到操作结果后,无法使用return把操作结果返回给调用者
这个时候只能使用 回调函数 的形式,把成功或失败的结果,返回给调用者,

 

优点:

  • 可以避免多层异步调用嵌套问题(回调地狱)
  • Promise 对象提供了简洁的 API,使得控制异步操作更加容易

 

Promise基本用法:

  • 实例化 Promise 对象,构造函数中传递函数,该函数中用于处理异步任务
  • resolve 和 reject 两个参数用于处理成功和失败两种情况,并通过 p.then 获取处理结果


 

var p = new Promise(function(resolve,reject){
    //实现异步任务...
    //成功时调用
    resolve();
    //失败时调用
    reject();
});
p.then(function(ret){
    //从resolve得到正常结果
},function(ret){
    //从reject得到错误信息
});  

 

posted @   しゅおく  阅读(298)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示