let say = ()=>{
return new Promise(function (resolve, reject) {
setTimeout(() => {
let obj = {a:`杰克`,b:`boy`,c:`是个前端`}
resolve(JSON.stringify(obj))
}, 3000);
})
}
async function test() {
try {
let data = await say()
// await 命令只能用在 async 函数之中
console.log("-------await 会等到say的返回结果才去执行之后的程序代码--------")
// data接收到的则是上面的obj
data = JSON.parse(data)
console.log(data.a,data.b,data.c)
} catch(err) {
console.log(err)// 若是say函数中执行的是reject函数,此处则抛出错误
}
}
test()
console.log("此处程序并不等待上面结果再执行")
let say = ()=>{
return new Promise(function (resolve, reject) {
setTimeout(() => {
let obj = {a:`杰克`,b:`boy`,c:`是个前端`}
resolve(JSON.stringify(obj))
}, 3000);
})
}
async function test() {
try {
let data = await say().then((res)=>{
支持链式操作,可以只then()下去,需要把结果return返回出去,跟上面的写法有不同之处
console.log(res)
return res
})
console.log("等上面执行完了在执行")
} catch(err) {
console.log(err)
}
}
test()
console.log("执行")