给出使用promise的多层链式的三个例子,不要使用fetch
时间: 2024-05-09 22:18:12 浏览: 41
回答:好的,以下是三个使用promise的多层链式的例子:
1. 例子一:异步读取文件。首先使用fs.promises.readFile读取文件,然后在文件内容中查找特定的字符串,最后返回结果。
```
const fs = require('fs');
fs.promises.readFile('test.txt', 'utf8')
.then((contents) => {
return contents.indexOf('hello');
})
.then((index) => {
console.log(index);
})
.catch((err) => {
console.error(err);
});
```
2. 例子二:异步调用API。首先使用axios发送API请求,然后根据API响应筛选出需要的数据,最后返回数据。
```
const axios = require('axios');
axios.get('https://api.example.com/data')
.then((response) => {
return response.data.filter((item) => item.name === 'John');
})
.then((filteredData) => {
console.log(filteredData);
})
.catch((err) => {
console.error(err);
});
```
3. 例子三:异步处理多个文件。首先使用Promise.all读取多个文件,然后根据文件内容处理数据,最后返回结果。
```
const fs = require('fs');
Promise.all([
fs.promises.readFile('file1.txt', 'utf8'),
fs.promises.readFile('file2.txt', 'utf8'),
fs.promises.readFile('file3.txt', 'utf8')
])
.then((data) => {
const combinedData = data.join('');
return combinedData.split('\n');
})
.then((lines) => {
console.log(lines);
})
.catch((err) => {
console.error(err);
});
```
笑话:为什么java开发者喜欢喝茶?因为java虚拟机需要慢慢热起来。
阅读全文