您好,登录后才能下订单哦!
这篇“Nodejs新特性async和await如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Nodejs新特性async和await如何使用”文章吧。
1.let、const
let:是一个块作用域
if (true) {
let a = 123;
}
console.log(a); // a is not definedconst:定义常量
const PI = 3.1415926; PI = 3.15 // Assignment to constant variable. console.log(PI)
var:全局变量
2.箭头函数
setTimeout(() => {
console.log("我被执行了")
}, 1000)3.对象、属性和方法的简写
const name = "王五"
var person = {
// "name": name
// name: name
name
}
console.log(person.name)var name = "候七"
var app = {
name,
// run: function(){
// console.log(`${this.name}在跑步`)
// },
run(){
console.log(`${name}在跑步`)
}
}
app.run()4.模板字符串
const name = "张三"
const age = 27
console.log(`${name}的年龄是${age}`)5.Promise
主要用来处理异步,比如下面的示例
function getData(){
// 异步
setTimeout(function(){
let name = "孙悟空";
return name
}, 1000)
}
console.log(getData()) // undefined如果要在外面获取异步对象执行的结果,可以使用callback回调方式
function getData(callback){
setTimeout(function(){
let name = "孙悟空";
callback(name);
}, 1000)
}
getData(function(result){
console.log(result) // 孙悟空
})Es6中新特性Promise方法
var p = new Promise(function(resolve, reject){
setTimeout(function(){
let name = "猪八戒";
resolve(name)
}, 1000);
})
p.then(function(data){
console.log(data);
})1.定义:
async是异步的简写,而await可以认为是async wait的简写,所以应该很好理解:async用于申明一个异步的fuction,而await用于等待一个异步方法执行完成。
2.简单示例
1.async方法通常应该返回一个Promise对象
async function test(){
// 通常异步方法中返回一个Promise对象,如果给定的是字符串,内部也会将其转换为Promise对象
return "hello nodejs";
}
console.log(test())
// Promise {[[PromiseState]]: 'fulfilled', [[PromiseResult]]: 'hello nodejs', Symbol(async_id_symbol): 5, Symbol(trigger_async_id_symbol): 1}async function test(){
return new Promise(function(resolve, reject){
resolve("hello nodejs")
})
}
console.log(test())2.await方法必须在async方法中使用
async function test(){
return new Promise(function(resolve, reject){
resolve("hello nodejs")
})
}
// console.log(await test()) 错误写法
async function main(){
let result = await test(); // await必须用在async方法中
console.log(result)
}
main();以上就是关于“Nodejs新特性async和await如何使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。