js 数据回调 异步 Promise

回调顺序

JavaScript 函数按照它们被调用的顺序执行。而不是以它们被定义的顺序。

js数据顺序问题

<!DOCTYPE html>
<html>
<body><h2>JavaScript 函数序列</h2><p>JavaScript 函数按照它们被调用的顺序执行。</p><p id="demo"></p><script>
function myDisplayer(some) {document.getElementById("demo").innerHTML = some;
}function myFirst() {myDisplayer("Hello");
}function mySecond() {myDisplayer("Goodbye");
}mySecond();
myFirst();
//mySecond();
</script></body>
</html>

 js 回调数据执行

<!DOCTYPE html>
<html>
<body><h2>JavaScript 回调</h2><p>进行计算,然后显示结果。</p><p id="demo"></p><script>
//(3)这个方法渲染数据 到页面 
function myDisplayer(some) {document.getElementById("demo").innerHTML = some;
}//(2)两个数据带到这个方法里边
// 然后两个数据进行相加 赋值给了 sum  最后返回
function myCalculator(num1, num2) {let sum = num1 + num2;myDisplayer(sum);
}
//(1)我输入了 两个数据
myCalculator(5, 5);
</script></body>
</html>

 


 js 异步

等待超时

在使用 JavaScript 函数 setTimeout() 时,可以指定超时时执行的回调函数:

<!DOCTYPE html>
<html>
<body><h1>JavaScript 回调</h1><p>等待 3 秒(3000 毫秒)让此页面发生变化。</p><h1 id="demo"></h1><script>
//定时器
setTimeout(myFunction, 3000);function myFunction() {document.getElementById("demo").innerHTML = "I love You !!";
}
</script></body>
</html>

 

<!DOCTYPE html>
<html>
<body><h1>JavaScript 回调</h1><p id="demo"></p><script>
//调用方法渲染
function myDisplayer(some) {document.getElementById("demo").innerHTML = some;
}//方法
function getFile(myCallback) {let req = new XMLHttpRequest();req.open('GET', "/demo/js/mycar.html");//请求req.onload = function() {//判断请求数据的真实性if (req.status == 200) {myCallback(this.responseText);} else {myCallback("Error: " + req.status);}}req.send();
}getFile(myDisplayer); 
</script></body>
</html>

 


js Promise

定义数据 判断对错

<!DOCTYPE html>
<html>
<body><h1>JavaScript Promise</h1><p id="demo"></p><script>
function myDisplayer(some) {document.getElementById("demo").innerHTML = some;
}//创建promise 方法 定义数据 x = 0 
let myPromise = new Promise(function(myResolve, myReject) {let x = 0;// 一些代码(请尝试将 x 改为 5)//判断数据是不是等于 0  
//上边定义了 如果不等于 0  就会报错if (x == 0) {myResolve("OK");} else {myReject("Error");}
});//监听数据
myPromise.then(function(value) {myDisplayer(value);},function(error) {myDisplayer(error);}
);
</script></body>
</html>

 

promise 倒计时

 

<!DOCTYPE html>
<html>
<body><h1>JavaScript Promise</h1><p>等待 3 秒(3000 毫秒)让此页面发生变化。</p><h1 id="demo"></h1><script>
const myPromise = new Promise(function(myResolve, myReject) {setTimeout(function(){ myResolve("I love You !!"); }, 3000);
});myPromise.then(function(value) {document.getElementById("demo").innerHTML = value;
});
</script></body>
</html>


js  Async 

Async 语法

函数前的关键字 async 使函数返回 promise:

Await 语法

函数前的关键字 await 使函数等待 promise:

let value = await promise;

await 关键字只能在 async 函数中使用。

<!DOCTYPE html>
<html>
<body><h1>JavaScript async / await</h1><p>请等待 3 秒(3000 毫秒)让此页面发生变化。</p><h1 id="demo"></h1><script>
async function myDisplay() {let myPromise = new Promise(function(myResolve, myReject) {setTimeout(function() { myResolve("I love You !!"); }, 3000);});document.getElementById("demo").innerHTML = await myPromise;
}myDisplay();
</script></body>
</html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/342964.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android14之解决Pixel手机联网出现感叹号(一百八十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

【一文搞懂JVM的内存屏障】

要命的问题&#xff1a; 什么是线程的安全性&#xff1f;怎么保证&#xff1f;jvm什么是的内存屏障&#xff1f;他有什么作用&#xff1f; **线程的安全性是指&#xff1a;**指在多线程环境下&#xff0c;多个线程同时访问同一资源时不会产生意外结果或导致数据出错的状态。其…

基于python的室内老人实时摔倒智能监测系统(康复训练检测+代码)

概述 导入所需的库&#xff0c;包括cv2、和numpy。 定义了一个用于计算角度的函数calculate_angle(a, b, c)&#xff0c;其中a、b和c是三个关键点的坐标。 初始化姿态检测和绘图工具。 打开并读取视频文件。 -摔倒检测&#xff08;fallen&#xff09; 循环遍历视频的每一帧…

“消费新纪元:从传统消费到消费增值的跨越!“

你是否已经厌倦了传统消费模式&#xff0c;感觉每一次购物只是让钱从左手流到右手&#xff1f;现在&#xff0c;一个新的消费模式正在兴起&#xff0c;它让你的消费变得更有价值&#xff01; 消费增值是一种创新的消费理念&#xff0c;它让你在享受优质商品和服务的同时&#x…

Java并发之同步三:Condition条件队列

一、总览 二、源码分析 2.1 人口 public Condition newCondition() {return sync.newCondition();}final ConditionObject newCondition() {return new ConditionObject();}public class ConditionObject implements Condition, java.io.Serializable {private static final lo…

JVM运行时数据区(上篇)

JVM运行时数据区可分为线程共享的堆&#xff0c;方法区和线程独享的虚拟机栈、本地方法栈、程序计时器此外还有一个单独的直接内存&#xff0c;如下图所述&#xff1a; 程序计数器 程序计数器&#xff08;Program Counter Register&#xff09;也叫PC寄存器&#xff0c;每个线…

Windows安装Rust环境(详细教程)

一、 安装mingw64(C语言环境) Rust默认使用的C语言依赖Visual Studio&#xff0c;但该工具占用空间大安装也较为麻烦&#xff0c;可以选用轻便的mingw64包。 1.1 安装地址 (1) 下载地址1-GitHub&#xff1a;Releases niXman/mingw-builds-binaries GitHub (2) 下载地址2-W…

JRT界面打开器

开发BS界面时候有个问题&#xff0c;如果新做页面还没挂菜单&#xff0c;那么测试新页面有两个办法&#xff0c;一是把菜单挂上用&#xff0c;一是手输URL。而我在开发阶段两个事都不想干&#xff0c;那么怎么解决呢&#xff1f; 以前WebLoader启动时候会启动C#写的URL辅助器 …

【elfboard linux 开发板】10. 设备树与烧录

1. 设备树介绍 设备树由一系列被命名的node和property组成 可以描述如下信息&#xff1a; CPU的数量和类别内存基地址和大小总线和桥外设连接中断控制器和中断使用情况GPIO控制器和GPIO使用情况Clock 控制器和 Clock 使用情况 由dts文件以文本方式对系统设备树进行描述&…

2023.12.10查找,线性探测法

二叉树的重构 集合实现对图的dfs,bfs复写 插入排序 霍夫曼树&#xff0c;霍夫曼编码 查找成功&#xff0c;查找失败的期望值计算 9.给定散列表大小为11&#xff0c;散列函数为H(Key)Key%11。按照线性探测冲突解决策略连续插入散列值相同的4个元素。问&#xff1a;此时该散…

小白福音!一键获取Cookie,从此不再求人!

文章目录 &#x1f4d6; 介绍 &#x1f4d6;&#x1f3e1; 环境 &#x1f3e1;&#x1f4d2; 使用方法 &#x1f4d2;⚓️ 相关链接 ⚓️ &#x1f4d6; 介绍 &#x1f4d6; 本文分享一个自己专为小白写的软件&#xff0c;该软件支持傻瓜式一件获取网页cookie 软件功能 Cookie…

STM32L051使用HAL库操作实例(14)- ADC采集电压

目录 一、前言 二、ADC外设简要说明 三、STM32CubeMX配置&#xff08;本文使用的STM32CubeMX版本为6.1.2&#xff09; 1.MCU选型 2.时钟使能 3.外部时钟配置 4.串口配置 5.ADC引脚配置 6.配置STM32CubeMX生成工程文件 7.点击GENERATE CODE生成工程文件 四、工程源码 …