function downloadData() { return new Promise(function (resolve,reject) { setTimeout(function () { console.log(1) reject('1') },1000) }) } function downloadFallbackData(){ return new Promise(function (resolve,reject) { setTimeout(function () { console.log(2); reject('2') },1000) }) } function downloadFallbackData2(){ return new Promise(function (resolve,reject) { setTimeout(function () { console.log(4); reject('4') },1000) }) } async function getProcessedData(url) { let v; try { v = await downloadData(url); } catch (e) { return e;//会返回到外面的then try{ v = await downloadFallbackData(url);//如果完蛋了,就没有下面的return 3 }catch (e){ v = await downloadFallbackData2(url); } } console.log(3) return 3;//上面有resolve才会到这里 } getProcessedData().then(function (e) { console.log('43',e); }).catch(function () { })
javascript async promise return 测试
最新推荐文章于 2024-08-28 23:23:24 发布