zoukankan      html  css  js  c++  java
  • bluebird -1 New Promise方法

    new Promise(function(function resolve, function reject) resolver) -> Promise

    创建一个Promise,传一个函数参数 resolve和reject,两个函数用来决定返回值或者报出异常

    例子1:

    function ajaxGetAsync(url) {
        return new Promise(function (resolve, reject) {
            var xhr = new XMLHttpRequest;
            xhr.addEventListener("error", reject);
            xhr.addEventListener("load", resolve);
            xhr.open("GET", url);
            xhr.send(null);
        });
    }

     例子2:

    new Promise(function (resolve, reject) {
    
        reject('hehe')
    
    }).then(function (val) {
    
        return 2
    
    }).then(function (val) {
    
        console.log(val)
    
        return 3
    
    }).then(function (val) {
    
        console.log(val)
    
    }).catch(function (e) {
    
      console.log(e)
    
    }) //输出”hehe”

    例子3:

    new Promise(function (resolve, reject) {
    
        //这里会线性执行
    
        for(var i = 0; i < 10; i++) {
    
            console.log(i)
    
        }
    
        resolve(1)
    
    }).then(function (val) {
    
        return 2
    
    }).then(function (val) {
    
        console.log(val)
    
        return 3
    
    }).then(function (val) {
    
        console.log(val)
    
    }).catch(function (e) {
    
      console.log(e)
    
    })

    总结:new Promise,把要顺序执行的操作放在函数体内,要想返回最后值,调用resolve(data),之后用then(function(data){  })接收。 要想返回错误,则reject(“错误对象”),之后用catch补获。

  • 相关阅读:
    揭秘富人的22种习惯与风格
    CSS
    浏览器--编辑器
    3 位运算 , 补码 ----在开发中比较少用
    2 Java数据类型+转义字符
    1 概述
    如何使用大脑
    JDBC
    web.xml文件的作用
    WindowBuilder插件探索
  • 原文地址:https://www.cnblogs.com/cool-fire/p/6272542.html
Copyright © 2011-2022 走看看