美文网首页
Javascript中的Primise

Javascript中的Primise

作者: 可追 | 来源:发表于2017-10-14 17:57 被阅读0次

    最近学习中,碰到了一个叫Primise的玩意,Promise是一个构造函数(大写字母开头,构造函数的江湖规矩),可以通过以下代码:

 new Promise(function(resolve,reject){

}) 

创建一个Promise实例。

     Promise的中文意思是“许诺、允诺的东西”,在这里我认为“允诺的东西”更合适一点,这个允诺的东西在创建实例中就已经执行参数中的函数,作为参数中的函数包含了两个参数,一个是resolve,一个是reject,也即是允诺的东西分为了两种情况:一种是下决定,另一种是拒绝。

     在哪里下决定或是在哪里拒绝,取决于你到底要怎样。

var a = '女神', promise = '我要山盟海誓'

new Promise(function(resolve,reject){

if(a==='女神'){

resolve(promise)  //下决定

}else{

reject(promise)  //拒绝

}

})

resolve和promise都可以传入参数。当允诺后,那必须要采取一些的行动,下决定的就按下决定的方法去做,拒绝就按拒绝的方法去做,这两个方法分别写在then()和catch()的括号中。

var a = '女神', promise = '我要山盟海誓'

var pro = new Promise(function(resolve,reject){

if(a==='女神'){

resolve(promise)

}else{

reject('你不是我的菜')

}

})

pro.then(function(data){

console.log(data)

}).catch(function(data){

console.log(data)

});

结果:

也就是resolve之后会执行then,reject之后会执行catch。注意到两个方法中的data,就resolve和then所传入的参数。

   一个人可以对多个人许诺,聪明的人会懂得将多个许诺凑在一起实现,要凑在一起那就用到all(),举个栗子:

var p1 = new Promise(function(resolve,reject){

resolve('去泡温泉');

});

var p2 = new Promise(function(resolve,reject){

resolve('去游泳');

});

Promise.all([p1,p2]).then(function(results){

console.log(results)

})

结果是:

all()可以传入多个Primise实例组成的数组,之后集体都执行then或catch,执行方法中的参数也是一个数组。

   以上是我对Promise对象的肤浅见解,在此记之。

相关文章

  • Javascript中的Primise

    最近学习中,碰到了一个叫Primise的玩意,Promise是一个构造函数(大写字母开头,构造函数的江湖规矩)...

  • EcmaScript 6 Primise

    原文地址:http://es6.ruanyifeng.com/#docs/promise Promise 的含义 ...

  • Promise小结

    Primise 总结 js 回调 同步回调func add(a,b,func){ func(a+b)};cons...

  • 最简 Promise 实现 - 没有考虑异常处理(也是为了自己能

    全部代码 这行代码是核心, 如果上一个 then 返回的是 Primise 实例就讲 当前Promise下所有未...

  • JavaScript 异步编程

    同步模式与异步模式 时间循环与消息队列 异步编程的几种方式 Primise异步方案 宏任务 /微任务队列 Ge...

  • 1body中添加js

    1 中的 JavaScript JavaScript 函数和事件上面例子中的 JavaScript 语句,会...

  • ES6-promise的一些API

    接着上面的primise的基础;在Promise实例生成过后;可调用then方法;进行相应的状态回调; 可以看出来...

  • JS中的类型转换

    JavaScript 中的类型转换 JavaScript 基本数据类型 JavaScript 中的一共有 8 中内...

  • js中的this

    javascript中的this javascript中的this与java中的this有点不同。ECMAScri...

  • JavaScript中的字符串

    @(javascript)[js字符串][toc] JavaScript中的字符串 字符串是JavaScript中...

网友评论

      本文标题:Javascript中的Primise

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