• Js中强大的Promise异步机制


    少年别激动 我的这份随笔里面只涉及promise概念 如果想深入了解Promise的用法 可以去阮老师es6入门里面详读 奉上链接

    http://es6.ruanyifeng.com/#docs/promise

    我的这份笔记很短 只是简单的介绍了下什么是Promise 

    什么是Promise呢 肯定会有和我一样的童鞋说 promise是承诺 对它的英文名的确是承诺 

    但它原本可不是这样的 原本翻译为普罗米修斯 好像是一位天神 神又是什么呢 神可以预知未来啊!!!

    那我理解成Promise就是神就是可以预知未来对吗 对的!至少我开始是这么理解的  这个promise能预知未来发生的事 正式的解释下:

    所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理。(摘自阮老师的es6入门)

    这够清楚了吧!!!

    我对promise还有这一种理解就是字面意思 promise 承诺 

    它承诺一件事 当有了结果(异步事件的结果)就会承诺回调我们 。

    这些概念只是有助于理解 想用好 还是得自己动手多敲几遍代码 这样才能...不说了 我去敲了~~

    补上刚刚练习的代码(用Promise异步加载图片)

    function loadImageAsync(url) {
    return new Promise(function(resolve, reject) {
    var image = new Image();

    image.onload = function() {
    resolve(image)
    };

    image.onerror = function() {
    reject(new Error('图片地址'+url+'加载失败'));
    };

    image.src = url;
    });
    }
    loadImageAsync('http://pic.sogou.com/news/images/logo.png').then(function(value) {
    console.log(value)
    })

    function other() {
    console.log('无阻塞执行其他的函数')
    }
    other() ;
    优先输出主线程的函数 '无延迟执行其他的函数'
    再输出异步执行的结果 '<img src="http://pic.sogou.com/news/images/logo.png">'

  • 相关阅读:
    348. Design Tic-Tac-Toe
    347. Top K Frequent Elements
    346. Moving Average from Data Stream
    345. Reverse Vowels of a String
    343. Integer Break
    342. Power of Four
    341. Flatten Nested List Iterator
    340. Longest Substring with At Most K Distinct Characters
    339. Nested List Weight Sum
    Python(九) Python的高级语法与用法
  • 原文地址:https://www.cnblogs.com/Zwq286179/p/6001918.html
Copyright © 2020-2023  润新知