当前位置: 首页 > Web前端 > HTML

uni-app项目记录

时间:2023-04-02 20:45:03 HTML

await等等,等等;期望的是async,awaitawait用于等待异步完成通常async和await与Promise一起使用,async返回一个Promise对象,async适用于任何类型的函数。这样await得到的是一个Promise对象asyncfunctiontestSync(){constresponse=awaitnewPromise(resolve=>{setTimeout(()=>{resolve("asyncawaittest...");},1000);});console.log(response);}testSync();//asyncawaittest...asyncfunctionasyncAwaitFn(str){returnawaitnewPromise((resolve,reject)=>{setTimeout(()=>{resolve(str)},1000);})}constserialFn=async()=>{//串行执行console.time('serialFn')console.log(awaitasyncAwaitFn('string1'));console.log(awaitasyncAwaitFn('string2'));console.timeEnd('serialFn')}serialFn();asyncfunctionasyncAwaitFn(str){returnawaitnewPromise((resolve,reject)=>{setTimeout(()=>{resolve(str)},1000);})}constparallel=async()=>{//并行执行console.time('parallel')constparallelOne=asyncAwaitFn('string1');constparallelTwo=asyncAwaitFn('string2')//直接打印console.log(awaitparallelOne)console.log(awaitparallelTwo)console.timeEnd('parallel')}parallel()await运算符用于等待Promise对象,只能在异步函数中使用。Expression要等待的Promise对象或任何值。返回值返回Promise对象的解析结果。如果没有等待Promise,则返回值本身。await表达式将暂停当前异步函数的执行,等待Promise被处理。如果Promise正常完成,回调的resolve函数参数作为await表达式的值,async函数继续执行。如果Promise处理了异常(被拒绝),await表达式将抛出Promise的异常原因。或者,如果await运算符之后的表达式值不是Promise,则返回值本身。functionresolveAfter2Seconds(x){returnnewPromise(resolve=>{setTimeout(()=>{resolve(x);},2000);});}asyncfunctionf1(){varx=awaitresolveAfter2Seconds(10);控制台日志(x);//10}f1();asyncfunctionf2(){vary=await20;控制台日志(y);//20}f2();asyncfunctionf3(){try{varz=awaitPromise.reject(30);}catch(e){console.log(e);//30}}f3();setTimeout、Promise、async/await之间的区别?async/awaitasync/await发送异步请求并从服务器获取数据。async的用法是作为关键字放在函数前面,表示该函数是异步函数。asyncfunctiontimeout(){  return'helloworld';}asyncfunctiontimeout(){return'helloworld'}timeout();console.log('虽然晚了,但我会先执行');asyncfunctiontimeout(){return'helloworld'}timeout().then(result=>{console.log(result);})console.log('虽然落后了,但我先执行');控制台中的Promise有个resolved,就是async函数的内部实现原理。返回一个值当这个函数被调用时,内部会调用Promise.solve()方法将其转换成一个promise对象作为返回函数。如果函数内部抛出错误,将调用Promise.reject()返回一个promise对象asyncfunctiontimeout(flag){if(flag){return'helloworld'}else{throw'mygod,failure'}}console.log(timeout(true))//调用Promise.resolve()返回promise对象。控制台日志(超时(假));//调用Promise.reject()返回promise对象。如果在函数内部抛出错误,promise对象有一个catch方法来捕获它。timeout(false).catch(err=>{console.log(err)})await表示等待,后面是什么?请注意,await关键字只能放在异步函数中。它更多的是一个返回promise对象的表达式//2s后,返回一个double值functiondoubleAfter2seconds(num){returnnewPromise((resolve,reject)=>{setTimeout(()=>{resolve(2*num)},2000);})}asyncfunctiontestResult(){letresult=awaitdoubleAfter2seconds(30);console.log(result);}constexpress=require('express');constapp=express();//express.static提供静态文件,即html、css、js文件app.use(express.static('public'));app.listen(3000,()=>{console.log('serverstart');})如果本账号内容有问题(例如:涉及版权或其他问题),请及时联系我们进行整改,我们会尽快处理。请喜欢它!因为您的认可/鼓励是我写作最大的动力!欢迎来到达达简书!这是一个有品质有态度的博客