函数getSafestCountriesNames()在调用时返回promise{pending},而在使用async/await时返回undefined的原因是因为该函数内部包含异步操作,而在使用async/await时,需要在异步操作前加上await关键字来等待异步操作的结果。
当调用getSafestCountriesNames()函数时,如果函数内部包含异步操作(例如异步请求数据),函数会立即返回一个promise对象,表示异步操作的状态。在异步操作完成之前,promise的状态为pending(即未完成状态),因此在调用函数时返回的是promise{pending}。
而在使用async/await时,async关键字用于声明一个函数是异步函数,await关键字用于等待一个异步操作的结果。当使用async/await调用getSafestCountriesNames()函数时,如果函数内部包含异步操作,await关键字会等待异步操作完成并返回结果,但如果函数内部没有使用await关键字等待异步操作的结果,那么函数会立即返回undefined。
要解决这个问题,可以在调用getSafestCountriesNames()函数时使用await关键字来等待异步操作的结果,例如:
async function example() {
const result = await getSafestCountriesNames();
console.log(result);
}
这样,当异步操作完成后,result变量将会被赋值为异步操作的结果,而不再是undefined。
关于getSafestCountriesNames()函数的具体实现和返回值的内容,需要查看函数的源代码或者相关文档来进一步了解。
领取专属 10元无门槛券
手把手带您无忧上云