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");
        });
  • 相关阅读:
    Redis 持久化总结
    Redis 持久化
    redis.conf的详细说明:
    linux 下 redis 安装
    redis 简介
    小心,Nginx 上传文件大小有限制!
    PSP总结报告
    作业20181204-1 每周例行报告
    对团队成员公开感谢博客
    作业20181127-2 每周例行报告
  • 原文地址:https://www.cnblogs.com/zt123123/p/8576474.html
Copyright © 2011-2022 走看看