美文网首页
JS Promise实例 then()方法

JS Promise实例 then()方法

作者: 糖醋里脊120625 | 来源:发表于2020-07-28 14:12 被阅读0次
function promiseClick(){
        let p = new Promise(function(resolve, reject){
            setTimeout(function(){
                var num = Math.ceil(Math.random()*20); //生成1-10的随机数
                console.log('随机数生成的值:',num)
                if(num<=10){
                    resolve(num);
                }
                else{
                    reject('数字太于10了即将执行失败回调');
                }
            }, 2000);
           })
           return p
       }
 
    promiseClick().then(
        function(data){
            console.log('resolved成功回调');
            console.log('成功回调接受的值:',data);
        }, 
        function(reason, data){
            console.log('rejected失败回调');
            console.log('失败执行回调抛出失败原因:',reason);
        }
    );  
————————————————


<div onClick={promiseClick}>开始异步请求</div>
 
const promiseClick =()=>{
     console.log('点击方法被调用')
     let p = new Promise(function(resolve, reject){
        //做一些异步操作
        setTimeout(function(){
                console.log('执行完成Promise');
                resolve('要返回的数据可以任何数据例如接口返回数据');
            }, 2000);
        });
        return p
    }
————————————————
const p = function(){
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            reject('Refused the request!');
        },0);
    })
};

const p2 = function(){
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(p())
        },0);
    })
};

p2().then(val => {
    console.info('Status switches to fulfilled');
    console.info(val);
}, val => {
    console.info('Status switches to reject');
    console.info(val);
});

————————————————

var p1 = new Promise((resolve, reject) => {
      console.log(1)
      resolve()
    })
    var p2 = new Promise((resolve, reject) => {
      setTimeout(() => {
        console.log(2)
        resolve()
      }, 1000);
    })
    var p3 = new Promise((resolve, reject) => {
      setTimeout(() => {
        console.log(3)
        resolve()
      }, 1000);
    })
 
    Promise.all([p1, p2, p3]).then((result) => {
      console.log("执行完毕");
    })

async function imAsync(num) {
  if (num > 0) {
    return num // 这里相当于resolve(num)
  } else {
    throw num // 这里相当于reject(num)
  }
}

imAsync(1).then(function (v) {
  console.log(v); // 1
});

// 注意这里是catch
imAsync(0).catch(function (v) {
  console.log(v); // 0
})

相关文章

  • JS Promise实例 then()方法

  • Promise对象

    Promise对象 创造一个Promise实例 then方法 Promise实例生成以后,可以用then方法分别指...

  • promise.all()的使用

    Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。Promis...

  • es6 Promise 学习笔记3 Promise.all

    定义:Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable ...

  • promise浅析

    创建promise Promise.prototype.then方法的使用Promise实例生成后,可用then方...

  • Promise对象方法

    Promise.prototype.then() Promise实例具有then方法,也就是说,then方法是定义...

  • 手写Promise

    基本实现new Promise 和 then /catch方法 Promise.js test.js测试 调用手...

  • ES6 Promise对象

    1. 首先创建Promise实例,Promise实例生成以后,可以用then方法分别指定Resolved状态和Re...

  • Promise.all()与Promise.race()

    1. Promise.all() Promise.all(iterable)方法返回一个Promise实例。这个实...

  • Promise

    基础用法 Promise.all() Promise.all方法用于将多个 Promise 实例,包装成一个新的 ...

网友评论

      本文标题:JS Promise实例 then()方法

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