zoukankan      html  css  js  c++  java
  • Promise初探

    在JavaScript的世界中,所有代码都是单线程执行的。

    由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。异步执行可以用回调函数实现:

    function runAsync1() {
        var p = new Promise(function (resolve, reject) {
            //做一些异步操作
            setTimeout(function () {
                console.log('异步任务1执行完成');
                resolve('11111');
            }, 1000);
        });
        return p;
    }
    
    function runAsync2(data) {
        var p = new Promise(function (resolve, reject) {
            //做一些异步操作
            setTimeout(function () {
                console.log('异步任务2执行完成');
                resolve(data);
            }, 2000);
        });
        return p;
    }
    
    function runAsync3(data) {
        var p = new Promise(function (resolve, reject) {
            //做一些异步操作
            setTimeout(function () {
                console.log('异步任务3执行完成');
                console.log(data);
                resolve(data);
            }, 2000);
        });
        return p;
    }
    
    runAsync1()
        .then(function (data) {
            console.log(data);
            return runAsync2("2222222");
        })
        .then(function (data) {
            console.log(data);
            return runAsync3("33333333");
        })
        .then(function (data) {
            console.log("end");
        });
  • 相关阅读:
    java映射
    java线程的一些方法和特性
    java线程通信
    java多线程同步
    java类对象概述
    JavaScript的对象——灵活与危险
    node.js项目中使用coffeescript的方式汇总
    12.2
    12.1
    11.30
  • 原文地址:https://www.cnblogs.com/zt123123/p/8576474.html
Copyright © 2011-2022 走看看