Promise基础语法

通过promise将普通函数变成回调函数

clike 复制代码
let promise = new Promise(function (){})

在这个函数里面可以接收两个参数

resolve 函数 在回调函数中如果调用resolve方法,promise会由pending转换为resolved

reject 函数 在回调函数中如果调用reject方法,promise会由pending转换为reject

clike 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的页面</title>
    <script>      
      let promise = new Promise(function (resolve,reject){
        console.log("function invoked")
        resolve()
      })
      console.log("other code1")
    //   等待promise对象状态发生改变时才会执行的代码
      promise.then(
        function(){
            // promise转换为resolved状态时会执行的函数
            console.log("promise success")

        },
        function(){
            // promise转换为reject状态时会执行的函数
             console.log("promise fail")

        }
      )
      console.log("other code2")
    </script>
</head>
<body>
</body>
</html>

then里面是可以接收参数的

clike 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的页面</title>
    <script>      
      let promise = new Promise(function (resolve,reject){
        console.log("function invoked")
        reject("haha")
        // resolve()
      })
      console.log("other code1")
    //   等待promise对象状态发生改变时才会执行的代码
      promise.then(
        function(){
            // promise转换为resolved状态时会执行的函数
            console.log("promise success")
 
        },
        function(data){
            // promise转换为reject状态时会执行的函数
             console.log("promise fail   " + data)

        }
      )
      console.log("other code2")
    </script>
</head>
<body>
</body>
</html>
相关推荐
1024奇点2 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Csvn3 小时前
WASM
前端
Warren2Lynch3 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
Knight_AL3 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
修己xj4 小时前
我用 AI 给自己写了一个 Markdown 编辑器,然后把它开源了
前端
FRing034 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
幸运小猿4 小时前
模拟慢上传-处理超时重试image 丢失线上问题
前端·javascript·html
by209995 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河5 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮5 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php