如何在 Node JS FS 模块中使用 Typescript Async/await with promise
How to use Typescript Async/ await with promise in Node JS FS Module
如何在 node js FS 模块中使用 Typescript async / await 函数和 return typescript 默认承诺,并在承诺解决后调用其他函数。
代码如下:
if (value) {
tempValue = value;
fs.writeFile(FILE_TOKEN, value, WriteTokenFileResult);
}
function WriteTokenFileResult(err: any, data: any) {
if (err) {
console.log(err);
return false;
}
TOKEN = tempValue;
ReadGist(); // other FS read File call
};
目前我认为没有其他方法可以使用包装函数。像这样:
function WriteFile(fileName, data): Promise<void>
{
return new Promise<void>((resolve, reject) =>
{
fs.writeFile(fileName, data, (err) =>
{
if (err)
{
reject(err);
}
else
{
resolve();
}
});
});
}
async function Sample()
{
await WriteFile("someFile.txt", "someData");
console.log("WriteFile is finished");
}
这里有一些关于 node.js 中承诺的冗长讨论:Every async function returns Promise
如果您不想自己编写 Promise 包装器,您可以使用 async-file。
使用此代码,您的代码可能如下所示...
(async function () {
//...
await fs.writeFile(FILE_TOKEN, value);
var data = await fs.readFile('gist');
// do something with your "gist" data here...
})();
自 NodeJS 10.0.0 fsPromises 模块可用于实现此结果。
import { promises as fsPromises } from 'fs';
await fsPromises.writeFile('file.txt', 'data')
如何在 node js FS 模块中使用 Typescript async / await 函数和 return typescript 默认承诺,并在承诺解决后调用其他函数。
代码如下:
if (value) {
tempValue = value;
fs.writeFile(FILE_TOKEN, value, WriteTokenFileResult);
}
function WriteTokenFileResult(err: any, data: any) {
if (err) {
console.log(err);
return false;
}
TOKEN = tempValue;
ReadGist(); // other FS read File call
};
目前我认为没有其他方法可以使用包装函数。像这样:
function WriteFile(fileName, data): Promise<void>
{
return new Promise<void>((resolve, reject) =>
{
fs.writeFile(fileName, data, (err) =>
{
if (err)
{
reject(err);
}
else
{
resolve();
}
});
});
}
async function Sample()
{
await WriteFile("someFile.txt", "someData");
console.log("WriteFile is finished");
}
这里有一些关于 node.js 中承诺的冗长讨论:Every async function returns Promise
如果您不想自己编写 Promise 包装器,您可以使用 async-file。
使用此代码,您的代码可能如下所示...
(async function () {
//...
await fs.writeFile(FILE_TOKEN, value);
var data = await fs.readFile('gist');
// do something with your "gist" data here...
})();
自 NodeJS 10.0.0 fsPromises 模块可用于实现此结果。
import { promises as fsPromises } from 'fs';
await fsPromises.writeFile('file.txt', 'data')