【发布时间】:2020-02-22 19:15:17
【问题描述】:
我正在为 react native 应用程序构建一个 api 服务,我很好奇设置实例然后返回一个在 api 函数周围有闭包的对象之间的区别是什么:
export default AuthApiService = (bearerToken) => {
const instance = axios.create({
baseURL: `http://${BASE_URL}`,
timeout: 5000,
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${bearerToken}`
}
})
const signup = async (email, password) => {
try {
const response = await instance.post(`/users`, {
email,
password
})
return response.data
} catch (err) {
console.log('error in signup api call', err, err.response)
throw err
}
}
const facebookLogin = async () => {
try {
} catch (err) {}
}
return {
signup,
facebookLogin
}
}
以及一个使用构造函数语法创建对象并可以直接访问对象方法的类,如下所示:
export default class AuthApiService {
constructor(bearerToken) {
this.instance = axios.create({
baseURL: `http://${BASE_URL}`,
timeout: 5000,
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${bearerToken}`
}
})
}
signup = async (email, password) => {
try {
const response = await this.instance.post(`/users`, {
email,
password
})
return response.data
} catch(err) {
console.log('error in signup api call', err, err.response)
throw err
}
}
facebookLogin = async () => {
try {
} catch(err) {
}
}
}
在 javascript 类语法中基本上只是一个创建具有不同原型的对象的函数?
另外,您能否就哪种方法“更好”发表意见?
谢谢
【问题讨论】:
标签: javascript reactjs class react-native ecmascript-6