当前位置:网站首页>Async/await asynchronous function
Async/await asynchronous function
2022-07-02 12:43:00 【There is no water in the sea】
1、async Use of asynchronous functions
// await/async How to write it
async function foo1() {
}
const foo2 = async () => {
};
2、async The execution flow of asynchronous functions
// It's all synchronous code , It's no different from ordinary function code
async function foo() {
console.log(" Internal code execution 1");
console.log(" Internal code execution 2");
console.log(" Internal code execution 3");
}
console.log("script start");
foo();
console.log("script end");
3、async The difference between asynchronous functions and ordinary functions 1 - Return value
// The return value of an asynchronous function must be Promise
async function foo() {
console.log("foo start...");
// 1、 If you don't write by default , The default return is undefined
// 2、 Returns a value
// return "aaa";
// 3、 Return to one thenable
// return {
// then: function (resolve, reject) {
// resolve("haaaaaa");
// },
// };
// 4、 Return to one Promise
return new Promise(function (resolve, reject) {
setTimeout(function () {
resolve("hehehehhehe");
}, 2000);
});
}
const promise = foo();
// This then Is in foo() Yes return Only when it's executed , And it is added to the micro task queue
promise.then((res) => {
console.log(res);
});
4、async The difference between asynchronous functions and ordinary functions 2 - abnormal
async function foo() {
console.log("foo function start~");
console.log(" Intermediate code ");
// Exception in asynchronous function , Will be returned as an asynchronous function Promise Of reject It's worth it , Can be in catch Get the error message
throw new Error("error Message~");
console.log("foo function end");
}
foo().catch((err) => {
console.log('chen', err);
});
console.log(" There are codes to follow ~");
5、async Use in await
// async function foo() {
// await expression (Promise)
// }
// 1、await Keep up with the expression
// function requestData() {
// return new Promise((resolve, reject) => {
// setTimeout(() => {
// resolve(111);
// }, 1000);
// });
// }
// async function foo() {
// // When to return res -> Namely requestData() call resolve When
// const res = await requestData();
// // These later codes , amount to await requestData(); in Promise then Implemented in .
// console.log('res', res);
// console.log("=============");
// }
// foo();
function requestData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject(111);
}, 1000);
});
}
// 2、 Keep up with other values
async function foo() {
// 2.1、await Keep up with the normal value , It will return immediately
// const res1 = await 123;
// 2.2、await Keep up with the object
// const res1 = await {
// then: function (resolve, reject) {
// resolve("aaaaaaa");
// },
// };
// 2.3、await keep pace with Promise
// const res1 = await new Promise((resolve) => {
// resolve("bbbb");
// });
// 2.4、reject value , When we are here reject When ,reject Value , As the whole asynchronous function foo() Of Promise Of reject Value , We need to be outside catch
const res1 = await requestData();
console.log("res", res1);
}
foo().catch((err) => {
console.log('err---', err);
})
边栏推荐
- . Net, C # basic knowledge
- Lekao.com: experience sharing of junior economists and previous candidates in customs clearance
- Go learning notes - multithreading
- In development, why do you find someone who is paid more than you but doesn't write any code?
- Use sqoop to export ads layer data to MySQL
- Deep Copy Event bus
- 线性DP AcWing 899. 编辑距离
- Simple understanding of ThreadLocal
- 2.7 binary tree, post order traversal - [FBI tree]
- JS10day(api 阶段性完结,正则表达式简介,自定义属性,过滤敏感词案例,注册模块验证案例)
猜你喜欢
[ybtoj advanced training guide] similar string [string] [simulation]
趣味 面试题
堆 AcWing 839. 模拟堆
Docker compose configuration mysql, redis, mongodb
ArrayList与LinkedList效率的对比
Sparkcontext: error initializing sparkcontext solution
分布式机器学习框架与高维实时推荐系统
Drools dynamically add, modify, and delete rules
async/await 异步函数
NTMFS4C05NT1G N-CH 30V 11.9A MOS管,PDF
随机推荐
8 examples of using date commands
Why do programmers have the idea that code can run without moving? Is it poisonous? Or what?
浏览器node事件循环
堆 AcWing 838. 堆排序
spfa AcWing 852. SPFA judgement negative ring
Writing method of then part in drools
2.7 binary tree, post order traversal - [FBI tree]
spfa AcWing 852. spfa判断负环
Window10 upgrade encountered a big hole error code: 0xc000000e perfect solution
JDBC 预防sql注入问题与解决方法[PreparedStatement]
Sparkcontext: error initializing sparkcontext solution
Input box assembly of the shutter package
Dijkstra AcWing 850. Dijkstra求最短路 II
ArrayList与LinkedList效率的对比
2.6 using recursion and stack - [tower of Hanoi problem]
Visual studio efficient and practical extension tools and plug-ins
bellman-ford AcWing 853. Shortest path with side limit
BOM DOM
Find the common ancestor of any two numbers in a binary tree
Sse/avx instruction set and API of SIMD