美文网首页
-论promise的用法

-论promise的用法

作者: 星29 | 来源:发表于2018-04-10 21:14 被阅读0次

promise是一个构造函数,本身有all、reject、resolve用法。原型有then、catch方法。下面来讲个实例方法。
var a = new Promise(function(resolve,reject){
//进行异步操作
setTimeout(function(){
console.log('HelloWorld');
resolve('你好世界!');
}, 2000);
});

Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数。其实这里用“成功”和“失败”来描述并不准确,按照标准来讲,resolve是将Promise的状态置为fullfiled,reject是将Promise的状态置为rejected。不过在我们开始阶段可以先这么理解,后面再细究概念。

在上面的代码中,我们执行了一个异步操作,也就是setTimeout,2秒后,输出“执行完成”,并且调用resolve方法。

运行代码,会在2秒后输出“执行完成”。注意!我只是new了一个对象,并没有调用它,我们传进去的函数就已经执行了。我们用Promise的时候一般是包在一个函数中,在需要的时候去运行这个函数,如:

function async(){
var a = new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成');
resolve('HelloWordl');
}, 1000);
});
return a;
}
async()

在我们包装好的函数最后,会return出Promise对象,也就是说,执行这个函数我们得到了一个Promise对象,另外,promise上还会有then和catch的方法。在写一段代码:
async().then(function(data){
console.log(data);
});

在async()的返回上直接调用then方法,then接收一个参数,是函数,并且会拿到我们在async中调用resolve时传的的参数。运行这段代码,会在2秒后输出“执行完成”,紧接着输出“HelloWorld”

相关文章

  • -论promise的用法

    promise是一个构造函数,本身有all、reject、resolve用法。原型有then、catch方法。下面...

  • promise详解

    Promise 用法api 1.基本用法 2.简便写法 Promise.all([]) Promise.race...

  • Promise 对象

    Promise 的含义 基本用法 Promise.prototype.then() Promise.prototy...

  • Promise 对象

    目录:Promise 的含义基本用法Promise.prototype.then()Promise.prototy...

  • Promise扩展基础

    Promise.all基本用法: Promise.race基本用法: 直接调用成功状态: 函异步函数:

  • ES6——Promise

    Promise基本用法示例: let i=100; let promise=new Promise(functio...

  • Promise 的使用

    使用Promise 基本用法 A Promise is an object representing the ev...

  • 手写Promise

    $ 正常的promise用法   $ 手写的Promise   # 测试可行性

  • Promise

    一.Promise常见用法 function doSth() { return New Promise(func...

  • ES6-Promise

    参考链接: 1.阮一峰Promise解读 2.Promise用法讲解 Promise含义 Promise是异步编程...

网友评论

      本文标题:-论promise的用法

      本文链接:https://www.haomeiwen.com/subject/gkfohftx.html