programing

fs.readdir는 기다릴 수 있지만 이유는 알 수 없습니다.

prostudy 2022. 6. 2. 21:28
반응형

fs.readdir는 기다릴 수 있지만 이유는 알 수 없습니다.

https://github.com/SimulatedGREG/electron-vue

이 템플릿을 사용하여 전자를 만들었습니다.

그리고 나는 이 도서관을 이용하고 있다.

https://www.npmjs.com/package/fs-extra

https://nodejs.org/docs/latest-v11.x/api/fs.html

이 서류로 이렇게 쓸 수 있어요.

await fs.readdir

그러나 전자 템플릿은 electron@2.0.4를 사용하고 node@8.9.3을 사용하고 있습니다.

그래서 여기 확인했어요.

https://nodejs.org/docs/latest-v8.x/api/fs.html

함수가 약속을 반환하지 않는 것 같습니다.

하지만 실제로는 fs 함수를 전자@2.0.4의 fs-extra를 사용하여 기다릴 수 있습니다.

개발과 구축이 모두 가능합니다.

왜 이러한가?

의 결과

console.log(fs.readdir())

아래와 같다.

여기에 이미지 설명 입력

약속입니다.

그런데 왜 전자@2.0.4에서 이걸 할 수 있는지 모르겠어요.

노드 v8에서 fs 모듈을 사용할 수 있습니다. 반환 값은 콜백 함수로 전달됩니다.

const fs = require('fs');
fs.readdir(dir, function(err, list) {

// do your logic with list array

})

노드 > 8.16 (내 생각에)을 사용하는 경우promisify에서utils모듈:

const { promisify } = require('utils');
const fs = require('fs');
const readdir = promisify(fs.readdir);

(async () => {
  const res = await readdir('./path');
  console.log(res);
})();

미안해요, 제가 영어를 잘 못해요.

그리고 저는 초보 웹 개발자입니다.

이것은 단지 예상일 뿐이다.

나는 소포를 보았다."fs-filen"의 json.

그 안에서 fs를 찾을 수 없었어요

"graceful-fs"라는 라이브러리를 사용하지만 이 라이브러리에는 "fs"도 필요하지 않습니다.

fs-extra는 fs와 관련이 없을 수 있습니다.

또한 verstion10보다 낮은 노드에서도 이미 프로미스화된 자체 로직을 가지고 있습니다.

진실을 아는 사람?

언급URL : https://stackoverflow.com/questions/56388044/i-can-await-fs-readdir-but-i-dont-know-why

반응형