当前位置: 首页 > 编程日记 > 正文

快速学习 async await 的使用, Demo 解析

async 和 await 字面都很好理解,分别是异步和等待。


来两个简单的 demo,

demo1

tt2(){return new Promise(rps=>{setTimeout(() => {rps('true')}, 1500);})},async tt1(){var a = await this.tt2();console.log(a)},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {that = thisthis.tt1()}// 'true'

代码解析:

async tt1(){}

设置tt1 为异步函数,

var a = await this.tt2();

创建变量a , 值为等待异步处理返回结果,tt2 是异步的,延迟1.5秒后,返回 Primise 对象的结果。

demo2

  /*** 生命周期函数--监听页面加载*/onLoad: function (options) {function timeout(ms) {return new Promise((resolve) => {setTimeout(resolve, ms);});}async function TextFc(num, ms) {await timeout(ms);console.log(num);}TextFc(1, 2000);},

定义一个 函数 timeout(异步阻塞 ms 毫秒,模拟异步操作)

定义一个 函数 TextFc (里面用到了 async 和 await),async 申明该函数可以异步处理,await 代码执行阻塞,等待后面的异步操作完成后,再走下面的代码。

再加强一下 TextFc 函数,请注意看 await 的使用。

  /*** 生命周期函数--监听页面加载*/onLoad: function (options) {function timeout(ms) {return new Promise((resolve) => {setTimeout(resolve, ms);});}async function TextFc(num, ms) {await timeout(ms);console.log('第一次打印日志',++num);await timeout(ms);console.log('第二次打印日志',++num);}TextFc(1, 2000);},

代码运行每隔两秒,执行一次日志打印,看执行的效果图

相关文章:

小型工作室创业项目_为什么新开发人员应该在小型创业公司工作

小型工作室创业项目In my first year of working in the industry (6 months as an intern, 6 months as a full-time employee), I worked at startups that were less than 10 people large. I was one of the only 2 or 3 developers, and usually one of the first. Throug…

head first python菜鸟学习笔记(第六章)

1. Python提供字典,允许有效组织数据,将数据与名关联,从而实现快速查找,而不是以数字关联。 字典是内置数据结构,允许将数据与键而不是数字关联。这样可以使内存中的数据与实际数据的结构保持一致。?&#…

小程序聊天室开发,发送文字,表情,图片,音频,视频,即时通讯,快速部署,可定制开发

效果图&#xff1a; 微信小程序聊天功能模块&#xff0c;现在已经支持发送图片&#xff0c;文字&#xff0c;音频&#xff0c;视频&#xff0c;表情&#xff0c;在线即时聊天啦。 需要做的可以联系我微信。13977284413 上代码&#xff1a; <view class"bo">…

常用浏览器插件

modify headers &#xff1a;firefox的IP伪造插件 httpRequester&#xff1a;firefox的模拟http请求插件JSON-handle&#xff1a;chrome格式化json插件firebug&#xff1a;firefox查看http请求工具firepath&#xff1a;firefox中获取元素路径转载于:https://www.cnblogs.com/xx…

编码中统一更该变量的快捷键_更多项目想法,以提高您的编码技能

编码中统一更该变量的快捷键Two weeks ago I published an article containing 15 project ideas that you can build to level up your coding skills, and people were very excited about that resource.两周前&#xff0c;我发表了一篇文章&#xff0c;其中包含15个项目构想…

My97DatePicker日历控件日报、每周和每月的选择

My97DatePicker日历控件日报、每周和每月的选择 1、设计源代码 <% page language"java" import"java.util.*" pageEncoding"UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><h…

DotNet Core Console 程序使用NLog

参考&#xff1a;https://github.com/NLog/NLog/wiki/Tutorial 步骤&#xff1a; 1. 使用Nuget安装NLog.Extensions.Logging Install-Package NLog.Extensions.Logging 2.编写代码&#xff08;到这步运行代码&#xff0c;不报错&#xff0c;但是也不会有log输出&#xff0c;因为…

小程序判断用户在线状态

在页面的两个生命周期组件里面 onShow() {console.log(-----上线线)let info wx.getStorageSync(chat_item)DB.collection(friends).where({_id: info._id}).get().then(res > {console.log(-----, res)if (res.data[0].a wx.getStorageSync(userInfo)._openid) {console.…

react.js做小程序_如何使用React.js构建现代的聊天应用程序

react.js做小程序In this tutorial, I will guide you to build your own group chat application using React, React Router, and CometChat Pro. Yes, rather than roll out our own server, we will instead use CometChat Pro to handle the real-time sending and receiv…

RAP Mock.js语法规范

Mock.js 的语法规范包括两部分&#xff1a; 数据模板定义规范&#xff08;Data Template Definition&#xff0c;DTD&#xff09;数据占位符定义规范&#xff08;Data Placeholder Definition&#xff0c;DPD&#xff09;1.数据模板定义规范 DTD 数据模板中的每个属性由 3 部分…

NSDictionary、NSMutableDictionary基本使用

郝萌主倾心贡献&#xff0c;尊重作者的劳动成果。请勿转载。假设文章对您有所帮助&#xff0c;欢迎给作者捐赠&#xff0c;支持郝萌主&#xff0c;捐赠数额任意&#xff0c;重在心意^_^ 我要捐赠: 点击捐赠Cocos2d-X源代码下载&#xff1a;点我传送游戏官方下载&#xff1a;htt…

h5轮播图及效果图

效果图&#xff1a; 代码&#xff1a; <!doctype html> <html><head><meta charset"utf-8"><title>jQuery响应式卡片轮播切换代码</title><link rel"stylesheet" type"text/css" href"css/style.c…

性能测试回归测试_自动网站性能回归测试

性能测试回归测试by Adam Henson亚当汉森(Adam Henson) 如何使用Foo自动执行网站性能回归测试 (How to automate website performance regression testing with Foo) 使用部署后步骤自动执行连续交付工作流程中的性能回归测试 (Using a post deploy step to automate performa…

【html】【13】特效篇--下拉导航

html代码&#xff1a; 1 <!DOCTYPE html>2 <html>3 <head>4 <meta http-equiv"Content-Type" content"text/html; charsetUTF-8">5 <title>Bootstrap导航条鼠标悬停下拉菜单</title>6 <li…

小程序获取用户所在城市完整代码

小程序目录结构 插入提示: 1. 申请开发者密钥&#xff08;key&#xff09;&#xff1a; 申请密钥 2. 下载微信小程序JavaScriptSDK&#xff0c;下载地址 下载完成后放入utils文件夹下引用即可 3. 安全域名设置&#xff0c;在“设置” -> “开发设置”中设置req…

prolog_如何通过观看权力的游戏学习Prolog

prologby Rachel Wiles瑞秋威尔斯(Rachel Wiles) 如何通过观看权力的游戏学习Prolog (How to learn Prolog by watching Game of Thrones) 他们死了吗&#xff1f; 他们还活着吗&#xff1f; 她是他的姨妈吗&#xff1f; 不用把精力浪费在2011年&#xff0c;而可以使用Prolog节…

身份证号码对应地区-官方措辞:行政区划代码

身份证前6位代表着该身份证的籍贯在哪里&#xff0c;而官方的措辞则为&#xff1a;行政区划代码 如何找到最新的行政区划代码了&#xff1f; 通过&#xff1a;http://blog.sina.com.cn/s/blog_5a76dae20100tqv5.html 此人的博客得知&#xff0c;行政区划代码是国家统计局统计的…

Jquery_操作cookies

首先引入jquery.cookie.js jquery.cookie.js下地址&#xff1a;http://plugins.jquery.com/cookie/ 操作文档&#xff1a; https://github.com/carhartl/jquery-cookie#readme 创建cookies&#xff1a; $.cookie(name, value); 设置有效期&#xff1a; 设置七天过期 $.cookie(n…

rem转rpx工具

对样式进行格式化&#xff0c;然后根据 “rem” 进行拆分&#xff0c;这样就会拆分成一个数组 [str1,str2,str3...,str6], 除了最后一个元素&#xff0c;前边的元素都会以 “rem” 样式的数值结尾&#xff0c; 然后在对数组中的元素字符串进行再次根据 “&#xff1a;” 进行…

colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测

colab中的变量怎么读取by RomRoc由RomRoc 带有Fizyr Retinanet的Google Colab中的对象检测 (Object Detection in Google Colab with Fizyr Retinanet) Let’s continue our journey to explore the best machine learning frameworks in computer vision.让我们继续我们的旅程…

c++重载(以运算符重载为主)

重载&#xff08;OverLoading&#xff09;是面向对象程序设计多态性的一种体现。所谓重载&#xff0c;是指“同一标识符”在同一作用域的不同场合具有不同的语义&#xff0c;这个标识符可以是函数名或运算符。也就是说&#xff0c;重载可以使多个函数使用同一个函数名&#xff…

记录-MySQL中的事件调度Event Scheduler

下面是自己的实例 /*查询event是否开启&#xff08;查询结果Off为关闭 On为开启&#xff09;*/show variables like %sche%; /*开启/关闭命令&#xff08;1开启--0关闭&#xff09;*/set global event_scheduler1; /*关闭事件任务: */alter event e_test_insert ON COMPLETION…

JS 实现下载Blod文件

实现代码&#xff1a; //下载Blod文件 const downLoadBlobFile (filename, res) > {if (!res) return;let a document.createElement(a);let blob new Blob([res], { type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charsetutf-8 });let blo…

盖尔-沙普利算法_盖尔定律-及其与初创企业的关系

盖尔-沙普利算法I realized something fascinating the other day: I realized that, as a startup entrepreneur and founder, I’m a builder of systems.前几天&#xff0c;我意识到了一件令人着迷的事情&#xff1a;我意识到&#xff0c;作为一名初创企业家和创始人&#x…

使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之三(配置文件读取)

干了一天的活&#xff0c;还有点时间&#xff0c;给兄弟们写点东西吧。 大家有没有发现一个问题&#xff1f;那就是在.Net Core的MVC项目里面&#xff0c;没有.config文件了&#xff01;&#xff01;&#xff01;同志们&#xff0c;没有config文件了啊&#xff0c;这样搞&#…

小程序云开发数据库在网站读取

使用TCB JS SDK Tencent Cloud Base(TCB) JavaScript SDK 介绍 TCB 提供开发应用所需服务和基础设施。TCB JS SDK 让你可以在网页端使用 JavaScript 代码服务访问 TCB 的的服务。你可以使用该 SDK 构建自己的公众号页面或者独立的网站等 Web 服务。 安装 TCB JS SDK 可以…

设计模式学习心得4

1.组合模式 定义一个父类&#xff0c;其中包括所有子类的方法接口&#xff0c;那么对于任何一个子类来说对外界都是封闭的&#xff0c;外界只调用父类的接口&#xff0c;而不知道子类是否有实现。 2.迭代器模式 这个很常见&#xff0c;在C中常常会用在标准模版类中&#xff0c;…

react创建组件_如何使用React创建时间轴组件

react创建组件These days I’ve been working on a new page for my website. I wanted to have a Timeline to showcase some of my professional accomplishments over the years.这些天来&#xff0c;我一直在为网站创建新页面。 我希望有一个时间表来展示我多年来的一些专业…

oracle根据一张表更新另外一张表

知道是两张表进行更新&#xff0c;之前作过mysql的,直接就写了&#xff1a; update a,b set a.code b.code wehre a.id b.id 然后就报错了&#xff0c;上网查了下知道oracle不能这样子写 之后找到如下的办法&#xff1a; UPDATE a set a.code (select b.code from b where…

应用内设置语言不重启方法

1、设置本应用方法网上有很多&#xff0c;大概如下 Resources resources getResources(); Configuration config resources.getConfiguration(); DisplayMetrics dm resources.getDisplayMetrics(); config.locale locale; //目标语言 resources.updateConfiguration(confi…