promis:异步编程

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

5640239-82d99e995d355471.png
Image.png
5640239-95d0aace0b59287c.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>
5640239-a81a40f8b99dd7d8.png
Image.png

必须要加返回值

5640239-2fbcb2b439b18862.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>

转载于:https://www.cnblogs.com/ting6/p/9725944.html

可以使用Promise对象将函数转换为异步。Promise是一种用于处理异步操作的对象,它可以表示一个异步操作的最终完成或失败,并返回相应的结果。通过将函数包装在Promise中,可以使用resolve函数将异步操作的结果传递给调用方。以下是将函数转换为Promise的示例代码: ```javascript function asyncFunction() { return new Promise((resolve, reject) => { // 异步操作的代码 // 当操作完成时,调用resolve函数并传递结果 // 当操作失败时,调用reject函数并传递错误信息 }); } ``` 在上述代码中,asyncFunction是一个异步函数,它返回一个Promise对象。在Promise的构造函数中,可以执行异步操作,并在操作完成时调用resolve函数,将结果传递给调用方。如果操作失败,可以调用reject函数,并传递错误信息。 使用Promise对象可以更方便地处理异步操作,可以通过链式调用then方法来处理异步操作的结果。例如: ```javascript asyncFunction() .then(data => { // 处理异步操作成功的结果 }) .catch(error => { // 处理异步操作失败的错误信息 }); ``` 在上述代码中,通过调用then方法,可以指定在异步操作成功时执行的回调函数,并通过catch方法指定在异步操作失败时执行的回调函数。 通过将函数转换为Promise,可以更好地管理和处理异步操作,提高代码的可读性和可维护性。 #### 引用[.reference_title] - *1* *2* *3* [Promise-异步操作的一种解决方案](https://blog.csdn.net/chonger_feifei/article/details/123331807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值