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.mzph.cn/news/616165.shtml

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

相关文章

K8S测试pod

背景 用于测试ping&#xff0c;curl等类型的pod Centos pod apiVersion: apps/v1 kind: Deployment metadata:name: centos-deploymentlabels:app: centos spec:replicas: 1selector:matchLabels:app: centostemplate:metadata:labels:app: centosspec:containers:- name: c…

名片数字化,真的有强大,如何获得免费的官微名片?

名片不仅仅是名片&#xff0c; 还承载着数据和策略&#xff0c; 精准地连接你和你的客户&#xff1b; 不同于传统名片&#xff0c;官微名片是一种数字化的升级&#xff0c;承载着数据的搜集和互动&#xff0c;让你更精准的连接客户。用户访问名片时&#xff0c;可以直接通过名…

智慧厂区烟火识别系统应用

在当今的智能制造行业中&#xff0c;安全管理已成为优先考虑的重要议题。集度汽车公司在其实验室场区引入了一项创新技术——富维图像厂区烟火识别系统。这个项目的核心是利用先进的烟火识别系统&#xff0c;保障厂区的安全与稳定运行。 系统特点 烟火识别系统的准确率高和误报…

基于Docker Compose单机实现多级缓存架构2024

文章目录 一、环境参考二、专栏简介三、扩展 一、环境参考 NameVersionDocker Desktop for Windows4.23.0Openjdk8MySQL8.2.0Redis7.2Canal1.1.7OpenResty1.21.4.3-3-jammy-amd64Lua-Caffeine- 二、专栏简介 多级缓存实现过程比较长&#xff0c;将拆分为多个文章分步讲述。如…

弈 - Codeql 自动运行和项目监控工具

前言 代码审计总是离不开一些神器&#xff0c;笔者常用 Codeql[1] 这款工具辅助挖洞。当我每写一个规则都需要对其它项目手动运行检查一遍&#xff0c;效率很低&#xff0c;再加上 lgtm[2] 的关闭&#xff0c;此项目诞生了 --- 弈(Yi)[3] 。 CVE-2021-43798 这里以 Graana 的…

mysql主从复制教程

1、介绍 1.1 是什么 主从复制&#xff0c;是用来建立一个和主数据库完全一样的数据库环境&#xff0c;称为从数据库 1.2 有什么用 数据备份&#xff1a;通过主从复制&#xff0c;可以将主数据库的数据复制到一个或多个从数据库中&#xff0c;以实现数据备份和灾难恢复。当主…

认识异常及异常处理机制之try-catch

异常类 什么是异常&#xff1f;就像人会犯错一样&#xff0c;程序在运行的过程中也会犯错。程序中的错误有两类&#xff0c;一类称为Error&#xff08;错误&#xff09;&#xff0c;另一类称为Exception&#xff08;异常&#xff09;。Error类和Exception类都为Throwable的子类…

git: Updates were rejected because the tip of your current branch is behind

一、报错含义 由于本地分支的tip落后远程分支&#xff0c;push操作被拒绝。 二、产生原因 我再本地拉去了新的分支并未同步到远程仓库&#xff0c;在新分支进行开发&#xff0c;由于前几天同步也创建了该分支并同步到了远程仓库&#xff0c;导致我本次push失败 三、解决方…

解决uni-app小程序获取路由及路由参数

代码: this.id = this.$route.query.id;错误信息: 解决方案: // 获取query对象// #ifdef H5this.id = this.$route

部署ATS(Apache Traffic Server)和Nginx正向代理服务性能对比

部署ATS&#xff08;Apache Traffic Server&#xff09;和Nginx正向代理服务&性能对比 1. 正向代理的用途2. ATS(Apache Traffic Server)正向代理服务器部署3. Nginx正向代理服务器部署4. 性能对比 1. 正向代理的用途 正向代理一般是用于内部网络出去&#xff0c;反向代理一…

STM32 SPI通信协议2——SPI功能选项设置

在上篇文章中&#xff0c;已经对STM32的四个引脚进行了GPIO的基本配置&#xff0c;现在开始SPI外设进行配置。 SPI_InitTypeDef SPI_InitStructure; SPI_InitStructure.SPI_Direction SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode SPI_Mode_Master; SPI…

【LeetCode每日一题】2085. 统计出现过一次的公共字符串(哈希表)

2024-1-12 文章目录 [2085. 统计出现过一次的公共字符串](https://leetcode.cn/problems/count-common-words-with-one-occurrence/)思路&#xff1a;哈希表计算 2085. 统计出现过一次的公共字符串 思路&#xff1a;哈希表计算 1.用两个哈希表分别统计word1和word2中字符出现的…

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…

【算法】动态中位数(对顶堆)

题目 依次读入一个整数序列&#xff0c;每当已经读入的整数个数为奇数时&#xff0c;输出已读入的整数构成的序列的中位数。 输入格式 第一行输入一个整数 P&#xff0c;代表后面数据集的个数&#xff0c;接下来若干行输入各个数据集。 每个数据集的第一行首先输入一个代表…

使用CentOS搭建高性能静态HTTP服务器

在互联网应用中&#xff0c;静态内容是广泛存在的&#xff0c;例如HTML页面、图片、视频等。为了提供高效、稳定和安全的静态内容服务&#xff0c;我们可以使用CentOS来搭建高性能的静态HTTP服务器。 1. 选择合适的软件 Nginx和Apache是两个流行的HTTP服务器软件。Nginx以其高…

ffmpeg全景视频转普通视角视频的filter开发

环境macos12.6 brew install glfw ffmpeg编译脚本 ./configure --ccclang --prefix$PWD/build --enable-libx264 --enable-filtergenericshader --enable-gpl --enable-opengl --extra-libs-lglfw -ldl --extra-cflags"-I/Users/taio/Downloads/x264-snapshot-2017052…

【深入挖掘Java技术】「源码原理体系」盲点问题解析之HashMap工作原理全揭秘(上)

HashMap工作原理全揭秘 — 核心源码解析 知识盲点概念介绍数据结构数组链表数组VS链表哈希表不同JVM版本HashMap的展现形式 HashMap VS HashTable特性区别对比 hashcodehashCode的作用equals方法和hashcode的关系key为null怎么办执行步骤 核心参数容量探讨负载因子探讨加载因子…

第21集《佛法修学概要》

乙三、修行篇第三分三&#xff1a;丙一、总标五乘要义&#xff1b;丙二、别明五乘解脱法门&#xff1b;丙三、结归一佛乘 请大家打开讲义第五十八页。我们讲到乙三&#xff0c;修行篇第三。 大乘佛法有八万四千个法门&#xff0c;但是我们可以把它归纳成两个重点&#xff1a;…

Wine源码中添加新的DLL模块

Wine源码中添加新的DLL模块 1. 基础环境准备 编译环境&#xff1a;debootstrap 安装 debian bullseye 源码版本&#xff1a;Wine 9.0-rc4 基础环境搭建 2. 创建DLL模块目录 在dlls目录下新建一个文件夹&#xff1a;nfs 将amsi目录下的三个文件全部复制到nfs目录下&#xff…

3-微信小程序组件基本用法

小程序组件是由宿主环境提供的&#xff0c;开发者可以基于组件快速搭建出页面结构。官方把小程序组件分为9类。 视图容器基础内容表单组件导航组件媒体组件map地图组件canvas画布组件开放能力无障碍访问 常用视图组件 view 官网传送门 普通视图区域 类似于HTML中div&#x…