如何使用 redux-auto 读取端点
How to read from to end-points with redux-auto
我正在使用 redux-auto 但在 "init" (point 5) 我想达到两个 Api 终点。文档不包括这种情况。
有个例子
export default function (user, payload, stage, result) {
switch(stage){
case 'FULFILLED':
return ?? result.config + result.userData ??
break;
case 'REJECTED':
console.error("problem loading user from server",result)
break;
case 'PENDING':
default :
break;
}
return user;
}
export function action (payload){
var endpoints = ['//localhost:3000/api/users/507f191e810c19729de860ea',
'https://api.mysite.com/users/settings/8B76YUTBI']
return fetch( ? )
}
当只需要 1 个承诺时,如何调用两个端点?
我正在处理他们从 API 加载用户的示例
https://github.com/codemeasandwich/redux-auto/tree/master/example
感谢您的帮助
您需要在操作函数中处理每个提取。如果您有一组网址,您可以使用 map 将每个网址转换为获取调用。
export function action (payload){
var endpoints = ['//localhost:3000/api/users/507f191e810c19729de860ea',
'https://api.mysite.com/users/settings/8B76YUTBI']
return Promise.all(endpoints.map(url => fetch(url).then(resp => resp.json())))
.then(([userData,config])=>({userData,config}))
}
以上代码为
- 映射端点字符串以创建您的 Ajax 调用
- 对每次获取的结果调用 json
- 然后使用 Promise.all
合并所有响应
- 将数组析构为 2 个变量
- Return 具有 2 个属性的新对象
result 在你的 reduct 函数中现在有 userData, config
我正在使用 redux-auto 但在 "init" (point 5) 我想达到两个 Api 终点。文档不包括这种情况。
有个例子
export default function (user, payload, stage, result) {
switch(stage){
case 'FULFILLED':
return ?? result.config + result.userData ??
break;
case 'REJECTED':
console.error("problem loading user from server",result)
break;
case 'PENDING':
default :
break;
}
return user;
}
export function action (payload){
var endpoints = ['//localhost:3000/api/users/507f191e810c19729de860ea',
'https://api.mysite.com/users/settings/8B76YUTBI']
return fetch( ? )
}
当只需要 1 个承诺时,如何调用两个端点?
我正在处理他们从 API 加载用户的示例 https://github.com/codemeasandwich/redux-auto/tree/master/example
感谢您的帮助
您需要在操作函数中处理每个提取。如果您有一组网址,您可以使用 map 将每个网址转换为获取调用。
export function action (payload){
var endpoints = ['//localhost:3000/api/users/507f191e810c19729de860ea',
'https://api.mysite.com/users/settings/8B76YUTBI']
return Promise.all(endpoints.map(url => fetch(url).then(resp => resp.json())))
.then(([userData,config])=>({userData,config}))
}
以上代码为
- 映射端点字符串以创建您的 Ajax 调用
- 对每次获取的结果调用 json
- 然后使用 Promise.all 合并所有响应
- 将数组析构为 2 个变量
- Return 具有 2 个属性的新对象
result 在你的 reduct 函数中现在有 userData, config