当前位置:网站首页>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);
})
边栏推荐
- Drools executes the specified rule
- Sse/avx instruction set and API of SIMD
- [ybtoj advanced training guidance] cross the river [BFS]
- Drools terminates the execution of other rules after executing one rule
- Direct control PTZ PTZ PTZ PTZ camera debugging (c)
- Js7day (event object, event flow, event capture and bubble, prevent event flow, event delegation, student information table cases)
- What is the relationship between NFT and metauniverse? How to view the market? The future market trend of NFT
- Rust search server, rust quick service finding tutorial
- Leetcode - < dynamic planning special> Jianzhi offer 19, 49, 60
- Fluent fluent library encapsulation
猜你喜欢

Deep Copy Event bus
![JDBC prevent SQL injection problems and solutions [preparedstatement]](/img/32/f71f5a31cdf710704267ff100b85d7.png)
JDBC prevent SQL injection problems and solutions [preparedstatement]

8 examples of using date commands

Win10 system OmniPeek wireless packet capturing network card driver failed to install due to digital signature problem solution

js3day(数组操作,js冒泡排序,函数,调试窗口,作用域及作用域链,匿名函数,对象,Math对象)

Floyd AcWing 854. Floyd求最短路

spfa AcWing 851. SPFA finding the shortest path

The differences and relationships among port, targetport, nodeport and containerport in kubenetes

堆 AcWing 838. 堆排序

通过反射执行任意类的任意方法
随机推荐
模数转换器(ADC) ADE7913ARIZ 专为三相电能计量应用而设计
Redis sentinel mechanism and configuration
js 迭代器 生成器 异步代码处理 promise+生成器 -> await/async
About wechat enterprise payment to change x509certificate2 read certificate information, publish to the server can not access the solution
一些突然迸发出的程序思想(模块化处理)
Js8day (rolling event (scroll family), offset family, client family, carousel map case (to be done))
通过反射执行任意类的任意方法
. Net, C # basic knowledge
[ybtoj advanced training guidance] judgment overflow [error]
3 A VTT端接 稳压器 NCP51200MNTXG资料
堆 AcWing 838. 堆排序
ArrayList与LinkedList效率的对比
How to write a pleasing English mathematical paper
线性DP AcWing 899. 编辑距离
H5 to app
Deep copy event bus
Drools terminates the execution of other rules after executing one rule
Is the neural network (pinn) with embedded physical knowledge a pit?
AAAI 2022 | Peking University & Ali Dharma Institute: pruning and compression of pre training language model based on comparative learning
[FFH] little bear driver calling process (take calling LED light driver as an example)