솔직히 말해서, 나는이 일을 올바르게 수행하고 있는지 궁금합니다. 사용자 정의 오류 메시지가 필요한 경우 모든 비동기 함수를 & catch와 함께 래핑해야합니까?Async/Await를 사용한 사용자 정의 오류 처리
은 다음 코드에 대한 모든 입력은 매우 극명하게 될 것이다 :
async function read(dir) {
let paths, content;
// read directory of paths to an array
try {
paths = await fs.readdir(dir);
} catch(err) {
throw 'Failed to read directory ' + dir;
}
// loop through paths reading file contents
for(const file of paths) {
try {
content = await fs.readFile(file, 'utf-8');
} catch(err) {
throw 'Failed to read contents of ' + file;
}
try {
// another async function that manipulates content
} catch(err)
throw 'Failed to do whatever';
}
}
return content;
}
// a function down here that calls read and handles thrown errors.
각 단계마다 사용자 정의 오류 메시지가 필요하면 각 단계에서 기본 오류를 포착해야합니다. – robertklep
'fs' 메소드가 정말로 약속을 되 돌리는가? – Bergi
네, fs-extra (https://www.npmjs.com/package/fs-extra)를 사용하고 있습니다. –