我一直试图做的是点击我的博客帖子的端点,然后使用这些数据删除Wordpress中的额外布局标记。我正在使用Axios来发出请求然后转换响应选项以修改数据以从" post_body"中删除额外的标记。我的回复中的对象。这适用于一篇博客文章,但当我尝试在我的所有博客博客文章中执行此操作时,它会返回20个左右的博客帖子。我想要做的是循环对象转换我的数据,然后发回一个请求回到另一个API发布我的博客文章。一旦我的承诺得到解决,我能够弄清楚这是否可行。我是否能够在.then中创建另一个for循环并找到我的" post_body"对象并发布帖子请求。不确定我是否以正确的方式思考这个问题。任何帮助深表感谢。
var fieldName = "et_pb";
var regExp = new RegExp("\\[\/?(" + fieldName + ".*?)\\]", "g");
function getBlogPosts() {
return axios.get(allPosts, {
transformResponse: axios.defaults.transformResponse.concat(function(data, headers) {
// use data I passed into the function and the objects from the API
// pass in data into the function using forEach this will return an array
data.objects.forEach(function(i) {
// use the returned array on Objects.key to find the name of the array
Object.keys(i).forEach(function(k) {
// if the key equals execute code
// console.log(k);
if (k === "post_body") {
// fire Regex
data[k] = i[k].replace(regExp, '');
// console.log(data[k])
}
})
})
return data;
})
})
}
axios.all([getBlogPosts()])
.then(axios.spread(function(blogResponse) {
console.log(blogResponse.data);
}));
答案 0 :(得分:1)
@James你是对的。您可以链接多个请求,如下所示,或者您可以选择asyn并等待选项。
axios.get(...) // for allPosts
.then((response) => {
return axios.get(...); // using response.data
})
.then((response) => {
console.log('Response', response);
});