3 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
當(dāng)您使用文件系統(tǒng)函數(shù)時(shí),請(qǐng)將其用作基于承諾的函數(shù),而不是基于回調(diào)的函數(shù)。您可以說fs.promises.unlink()
而不是說fs.unlink()
,但請(qǐng)記住,此承諾內(nèi)置函數(shù)是在 Node.js 版本 10 中添加的。因此,如果您使用的是舊版本,則這將不起作用!要在您的代碼中使用它,您可以這樣做:
await fs.promises.unlink(yourPath)

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以“承諾”所有回調(diào)風(fēng)格的函數(shù)!
// promisefy this:
fs.unlink('path/file.txt', (err) => {
if (err) throw err;
console.log('path/file.txt was deleted');
});
// to this:
const unlinkPromise = (path) => new Promise((resolve, reject) => {
fs.unlink('path/file.txt', (err) => {
if (err) reject(err);
resolve(path);
});
});
// and then call with await or chain promises
await unlinkPromise('path/file.txt').then((path) => {
console.log(`${path} was deleted`);
});
但正如已經(jīng)提到的,同步方法不需要等待,這種策略,我會(huì)推薦用于承諾級(jí)聯(lián)......

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
你不需要等待。
fs.unlink(path, callback)
您創(chuàng)建一個(gè)回調(diào)
假設(shè)“path/file.txt”是一個(gè)常規(guī)文件。
fs.unlink('path/file.txt', (err) => {
if (err) throw err;
console.log('path/file.txt was deleted');
});
異步的是fs.unlink()。
同步的是fs.unlinkSync()。
https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback
添加回答
舉報(bào)