zoukankan      html  css  js  c++  java
  • es6 读书笔记

    //Promise使用示例
    new
    Promise(function(resolve,reject){ setTimeout(function(){ var ret = "异步1执行成功!"; console.log(ret); resolve(ret); },2000); }) .then(function(msg){ return new Promise(function(resolve,reject){ setTimeout(function(){ var ret = "异步2执行成功!"; console.log(ret); ret +="->"+msg; resolve(ret); },2000); }) }) .then(function(msg){ return new Promise(function(resolve,reject){ setTimeout(function(){ var ret = "异步3执行成功!"; console.log(ret); ret +="->"+msg; resolve(ret); },2000); }) }) .then(function(msg){ console.log(msg); })
    Promise 辅助工具
          if(!Promise.wrap){
                Promise.wrap  = function(fn){
                    return function(){
                        var args = [].slice.call(arguments);
                        return new Promise(function(resolve,reject){
                            fn.apply(null,args.concat(function(err,v){
                                if(err){
                                    reject(err);
                                }
                                else{
                                    resolve(v);
                                }
                            }));
                        });
                    };
                };
            }
            
    
            function _ajax(arg,callback){
                $.ajax({
                    url:arg.url,
                    data:arg.data,
                    type:arg.type,
                    //........
                    success:function(data, textStatus, jqXHR){
                        callback(null,data);
                    },
                    error:function(xhr){
                        callback(xhr,null);
                    }
                });
            }
    
            var request = Promise.wrap(_ajax); 
            request({
                type: "POST",
                url: "some.php",
                data: "name=John&location=Boston",
            }).then(function(msg){
                
            });

     异步迭代生成器使用示例

        function request(x,y){
            $.ajax({
                url:"test.php",
                type:'post',
                data:{
                    x:x,
                    y:y,
                },
                success:function(result,status,xhr){
                   it.next(result);
                },
                error:function(xhr){
                   it.throw(xhr.statusText);
                }
            });
        }
        
        function *main (){
            try{
                var ret  = yield request(11,13);
                console.log(ret);
            }catch(err){
                console.log(err);
            }
            
        }
    
        var it = main();
        it.next();
  • 相关阅读:
    什么是CMS
    TP3.2项目—微信推广页
    《实用技巧》——让你的网站变成响应式的3个简单步骤
    thinkphp分页带数据
    tp框架表单验证 及ajax
    tp框架做留言板
    随时修改添加,thinkphp小知识
    thinkphp使用ajax
    thinkphp修改和删除数据
    tp框架查询
  • 原文地址:https://www.cnblogs.com/kerryw/p/9337988.html
Copyright © 2011-2022 走看看