博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
promise async await 结合 demo2
阅读量:7238 次
发布时间:2019-06-29

本文共 2280 字,大约阅读时间需要 7 分钟。

// 模拟 post 异步接口 begainlet post1 = ()=> {    return new Promise((resolve, reject) => {        setTimeout(()=>{            reject('reject 2000')        } , 2000)    })}let post2 = ()=> {    return new Promise((resolve, reject) => {        setTimeout(()=>{            resolve('success 1000')        } , 1000)    })}let post3 =  ()=> {    return new Promise((resolve, reject) => {        setTimeout(()=>{            resolve('success 3000')        } , 3000)    })}let post4 =  ()=> {    return new Promise((resolve, reject) => {        setTimeout(()=>{            reject('reject 4000')        } , 4000)    })}// 模拟 post 异步接口 end

  2、

// 模拟 post 异步接口   try catch 方式 end const getByApi5 = ()=> {
return new Promise(async (resolve, reject)=>{
try {
const data = await post1() console.log('getP5 try 2s') resolve(data) }catch(e){
console.log('getP5 catch 2s') reject(e) } }) } const getByApi6 = ()=> {
return new Promise(async (resolve, reject)=>{
try {
const data = await post2() console.log('getP6 try 1s') resolve(data) }catch(e){
console.log('getP6 catch 1s') reject(e) } }) } const getByApi7 = ()=> {
return new Promise(async (resolve, reject)=>{
try {
const data = await post3() console.log('getP7 try 3s') resolve(data) }catch(e){
console.log('getP7 catch 3s') reject(e) } }) } const getByApi8 = ()=> {
return new Promise(async (resolve, reject)=>{
try {
const data = await post4() console.log('getP8 try 4s') resolve(data) }catch(e){
console.log('getP8 catch 4s') reject(e) } }) }

  3、

Promise.all([getByApi5(), getByApi6(), getByApi7(), getByApi8()]).then((result) => {    console.log('result')    console.log(result)}).catch((error) => {    console.log('error')    console.log(error)})

  4、区别在于, 2s 后, 走catch( error, 返回 reject 2000),  不会走 then

getP6 try 1sgetP5 catch 2serrorreject 2000getP7 try 3sgetP8 catch 4s

  

转载于:https://www.cnblogs.com/daji/p/10008709.html

你可能感兴趣的文章
MVC Controller return 格式
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>
JQuery实现密码有短暂的显示过程和实现 input hint效果
查看>>
Kooboo中如何切换数据库(注意:如果切换数据库,需要Kooboo中没有一个website 否则会报错数据库中没有表之类的)...
查看>>
OWIN规范中最让人费解的地方
查看>>
页面视图中的按钮操作指向
查看>>
Android UI开发第三十篇——使用Fragment构建灵活的桌面
查看>>
自然语言处理哪家强?【36kr】
查看>>
[HTML/CSS]display:none和visibility:hidden的区别
查看>>
浅谈MS-SQL锁机制
查看>>
Makefile编写 一 *****
查看>>
关于SetCapture() 和 ReleaseCapture()的使用方法
查看>>
Asp.net MVC Comet推送
查看>>
QDir, QFileInfo 和 QDirIterator 区别
查看>>
Zend Studio使用
查看>>
院士的幻想与国产操作系统泡沫
查看>>
为什么 string.find()返回值是-1
查看>>
结构型模式之Adapter模式
查看>>
Silverlight Popup Bubble
查看>>
【转】在Ubuntu下编译Android源码并运行Emulator
查看>>