我转过几个弯 绕过那个小雨楼
拿着蒲扇摆着衣衫渡着紧箍咒
不问天涯不停留 喝过几壶酒
不过年少白头道义放胸口
倘若明天之后 遥看前尘剑封侯
似那天上神仙无所求
朝朝暮暮君如梦醒十分不为何理由
是真是假是惶恐是无休
路过这风雨花满楼 片刻都不停留
我本这书生进京赶考留下许多愁
你问有没有时候 我叹这天道默悠悠
能否与我一醉方休
又过了几个弯 算尽天量道莫慌
踏这田园闻这芳草香
跌跌撞撞仗剑天涯折煞不枉无笔良
是梦是幻是温柔是家乡
路过这风雨花满楼 片刻都不停留
我本这书生进京赶考留下许多愁
你问有没有时候 我叹这天道默悠悠
能否与我一醉方休
路过这风雨花满楼 片刻都不停留
我本这书生进京赶考留下许多愁
你问有没有时候 我叹这天道默悠悠
能否与我一醉方休
谁能与我一醉方休
koa框架3 基础入门之 async、await
async和await可以理解为generator的升级,因为generator需要一个runner库来运行它,这样一来就很麻烦,所有就有了async,其用法差不多。
await后面接异步操作或者同步操作,但是绝对不能为空,然后这个函数function开头接一个async
用法如下:
async function show() {
let user = await $.ajax({
url: "xxx/api",
dataType: "json"
});
let items = null;
if (user.login) {
items = await $.ajax({
url: "xxx/api",
dataType: "json"
});
} else {
if (user.vip) {
items = await $.ajax({
url: "xxx/api",
dataType: "json"
});
} else {
items = await $.ajax({
url: "xxx/api",
dataType: "json"
});
}
}
console.log(items);
};
show();
async的函数可以像普通函数那样调用,极大的方便了代码书写。
awite后面接什么
- promise对象
- 另一个async函数
- 普通函数
- 一个值
但是绝对不能为空。空的话就会报错。
错误处理
如果awite后面报错了,我们怎么处理。
使用了async后,函数变成了同步操作,他没有异步回调了,所以我们只能通过try catch 来进行捕获错误。
async function show() {
try {
let user = await $.ajax({
url: "xxx/api",
dataType: "json"
});
let items = null;
if (user.login) {
items = await $.ajax({
url: "xxx/api",
dataType: "json"
});
} else {
if (user.vip) {
items = await $.ajax({
url: "xxx/api",
dataType: "json"
});
} else {
items = await $.ajax({
url: "xxx/api",
dataType: "json"
});
}
}
} catch (e) {
console.log("出现错误", e);
}
console.log(items);
};
在async函数里面,将所有操作丢在try里面,如果某一处出现错误,catch便会捕获这个错误,从而达到错误提示的效果。
0
评论(1)

都覆盖