promis:异步编程

promise对象用于延迟计算和异步计算:一个promise对象代表着一个还未完成,但预期将来完成的操作

Image.png
Image.png

打印结果如下:

<!DOCTYPE html>
<html>
     <head>
           <meta charset="UTF-8">
           <title></title>
     </head>
     <body>
     <script>
     console.time("Promise");
     //resolve执行成功后调用
     //reject执行失败时调用
     new Promise(function(resolve, reject) {
           setTimeout(function() {
                resolve("定时器");
           }, 1000 * 2);
     }).then(function(result) {
           console.log(result);
           console.timeEnd("Promise");
     });
</script>
     </body>
</html>
Image.png

必须要加返回值

Image.png
<!DOCTYPE html>
<html>
       <head>
                 <meta charset="UTF-8">
                 <title></title>
       </head>
       <body>
       </body>
       <script>
                 console.time('Promise');
                 //resolve 执行成功后调用
                 //reject  执行失败时调用
                 new Promise(function(resolve,reject){
                          setTimeout(function(){
                                    resolve("定时器执行完毕");
                          },1000*2);
                 }).then(function(result){
                          console.log("第一个 then 有异步");
                          //对数据做处理
                          return new Promise(function(resolve, reject){
                                    setTimeout(function(){
                                             resolve({
                                                       "data" : result
                                             });
                                    },1000 * 2);
                          });
                 }).then(function(data){
                          //接收完整的数据
                          console.log(data);
                          console.timeEnd('Promise');
                 });
       </script>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容