我希望这个方法的返回值是一个列表,列表里存储着从数据库取出来的值,怎么做?
时间: 2024-03-06 11:47:19 浏览: 51
如果希望将从数据库中取出来的值存储在一个列表中作为函数的返回值,可以使用 `Promise` 和数组来实现。
例如,下面是一个示例函数,从数据库中查询所有用户的信息,并将查询结果存储在一个数组中返回:
```typescript
async function getUsers(): Promise<User[]> {
const users: User[] = [];
try {
const result = await db.query('SELECT * FROM users');
result.forEach((row: any) => {
const user: User = {
id: row.id,
name: row.name,
email: row.email,
};
users.push(user);
});
return users;
} catch (error) {
console.error('Error getting users from database:', error);
throw error;
}
}
```
在这个示例函数中,定义了一个空数组 `users`,在执行数据库查询操作后,使用 `forEach` 方法遍历查询结果,并将每一行数据转换成 `User` 类型的对象,最后将转换后的对象添加到数组中。函数的返回值即为这个数组。
需要注意的是,这里使用了 `Promise` 和 `await` 关键字来处理异步操作,以确保在查询数据库时不会阻塞主线程。同时,也使用了 `try/catch` 代码块来处理异常情况,保证代码的健壮性。
阅读全文