我只想等待一个进程完成,而不想让函数异步化。
看下面的代码。
因为函数中有一个await关键字,所以我不得不将getUserList变成了异步函数。因此,我还必须像"await UsersService.getUserList"这样编写代码来执行该方法,并且我还必须将父函数变成异步函数。但这不是我想要的。
import xr from 'xr' //a package for http requests
class UsersService {
static async getUserList() {
const res = await xr.get('http://localhost/api/users')
return res.data
}
}
export default UsersService
import UsersService from './UsersService'
class SomeClass {
async someFunction() { //async again!!
const users = await UsersService.getUserList() //await again!!
}
}
async
,所以该函数是同步的,因此它保证会完成其主体执行并返回结果。 - zerkms