Sha*_*han 6 javascript fs node.js promise typescript
如何在节点js FS模块中使用Typescript async/await函数并返回typescript默认promise,并在promise解析后调用其他函数.
以下是代码:
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
};
Run Code Online (Sandbox Code Playgroud)
现在我认为没有别的方法可以使用包装器功能.像这样的东西:
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");
}
Run Code Online (Sandbox Code Playgroud)
这里有关于node.js中的promise的一些冗长的讨论:每个异步函数都返回Promise
由于可以使用NodeJS 10.0.0 fsPromises模块来实现此结果。
import { promises as fsPromises } from 'fs';
await fsPromises.writeFile('file.txt', 'data')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7794 次 |
| 最近记录: |