async wait는 비동기 문제를 해결합니다. 이 두 키워드는 es7에서 제안되었으므로 테스트, 노드 및 브라우저 버전이 개선되었습니다.
async wait 작업은 promise
async wait을 기반으로 합니다. 두 개의 키워드를 함께 사용하면 오류가 발생합니다.
await 뒤에는 promiseobject
Promise의 비동기 작업에 익숙하지 않은 친구는 제 글을 읽어보세요. 약속대로
<span style="font-size: 18px;">Promise 解决多层嵌套,回调地狱<br>什么叫回调地狱<br>写一个实例,就是恶心的多层欠嵌套<br></span>
function a(){ function b(){ function c(){ } } }
이러한 코드는 유지 관리가 어려워 보이고 성능도 좋지 않습니다
<span style="font-size: 18px;"><br></span><span style="font-size: 18px;">下面我们看看fs模块解决异步请求,同步结果的问题<br><br></span>
//es7let fs=require('fs');function read(url) { //new Promise 需要传入一个executor 执行器 //executor需要传入两个函数 resolve reject return new Promise((resolve,reject)=>{ //异步读取文件 fs.readFile(url,'utf8',function (err,data) { if(err){ reject(err) }else{ resolve(data); } }) }) };//async await 解决异步问题,基于promise//async await这两个关键字一起使用//await 后面只能跟promise对象async function getData(){ try{ //Promise.all()并发读取 let result =await Promise.all([read('name.txt'),read('age.txt')]); console.log(result); }catch (e){ console.log(e); } } getData();//Promise 解决多层嵌套,回调地狱// 解决异步请求,同步结果的问题
위 내용은 node.js의 fs 모듈에서 동기화 결과의 비동기 읽기 및 쓰기를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!