• 码农干货系列【17】Wind.js与Promise.js


    示例

    先引入wind.jspromise.js:

        <script src="wind-all-0.7.3.js"></script>
        <script src="promise.js"></script>

    然后create:

            Wind.Promise.create = function (fn) {
                var prms = Promise();
                fn(prms.resolve, prms.reject);
                return prms;
            }

    最后:

            var testAsync = eval(Wind.compile("promise", function () {
                for (var i = 0; i < 3; i++) {        //loop  3  times
                    var aa = $await(f1());
                    alert(aa);                       //alert  "from f1"
                    $await(f2().wait(3000));         //sleep  3000ms
                    $await(f3());
                }
            }));
     
            testAsync();
     
            function f1() {
                var promise = Promise();
                setTimeout(function () {
                    console.log(1);
                    promise.resolve("from f1");
                }, 2500)
     
                return promise;
            }
     
            function f2() {
                var promise = Promise();
                setTimeout(function () {
                    console.log(2);
                    promise.resolve();
                }, 1500)
     
                return promise;
            }
     
            function f3() {
                var promise = Promise();
                setTimeout(function () {
                    console.log(3);
                    promise.resolve();
                }, 1500)
     
                return promise;
            }

    Todo

    解决$await(testAsync())之后掉链子的问题。

    扩展阅读

    Wind.js

    Jscex与Promise/A那些事

  • 相关阅读:
    CV2图像操作
    Sobel边缘检测
    matlat之KDTreeSearcher()函数
    linux shell 将多行文件转换为一行
    (转)Shell脚本编程--Uniq命令
    (转)iptables简介
    (转)linux passwd批量修改用户密码
    (转)linux sort 命令详解
    (转)Linux命令之md5sum
    (转)shell实例浅谈之产生随机数七种方法
  • 原文地址:https://www.cnblogs.com/iamzhanglei/p/3052980.html
Copyright © 2020-2023  润新知