React Native使用apisauce调用登录接口返回undefined无响应如何解决?
问题原因
- 登录接口封装函数未显式返回请求实例:你定义的登录方法使用花括号包裹执行逻辑时,没有主动
returnapiClient.post返回的Promise对象,JavaScript中没有return语句的函数默认返回undefined,因此await拿到的结果自然为空。 - 导出的方法名与实际调用名不匹配:封装层默认导出的对象中,登录方法的属性名为
loginApi,但业务代码中调用的是loginApi.login,该方法不存在,调用不存在的对象属性也会返回undefined。
解决方案
修改登录接口封装层代码,补全return语句、修正导出的方法名即可,修改后代码如下:
import apiClient from './client'; // 方法名改为login和调用侧匹配 const login = (email, password) => { // 显式返回post请求的Promise实例 return apiClient.post('/login', {email, password}); }; // 导出的对象属性名和方法名保持一致,方便调用侧使用loginApi.login调用 export default { login };
也可以使用箭头函数的隐式返回简化写法,省略return和花括号:
const login = (email, password) => apiClient.post('/login', {email, password})
修改完成后重新运行项目即可正常拿到接口返回结果。
内容的提问来源于stack exchange,提问作者Sanaullah Javeid
相关产品推荐
相关产品推荐

