如何解决Promise.all用于promiseArray不返回任何值
我具有以下设置,其中我尝试调用返回Promise
的函数,而该函数又调用Promise.all()
进行无限次数的axios.post()
电话。我尝试使用axios.all()
和axios.spread(...responses)
,但没有运气。我还尝试了一些有经验的用户发布到SO的示例。但是仍然没有运气。
值得注意的是,正在调用 ,只是返回的响应未定义。
正在调用的函数如下:
createSurveyResult(surveyResults) {
let token = Vue.prototype.$auth.getLocalStorage(`${this.activeUser.uuid)_{process.env.NODE_ENV}_ACCESS_TOKEN`)
if (token) {
axiosModified.defaults.headers.common['Authorization'] = `Bearer ${token}`
}
return new Promise(resolve => {
let promiseArray = surveyResults.map(payload => {
axiosModified.post('/feedback/results/',payload)
})
Promise.all(promiseArray).then(responses => {
responses.forEach(res => console.log(res))
console.log('submitted all axios calls');
resolve(responses)
}).catch(error => {
resolve(error.response)
})
})
}
被称为:
this.$surveys.createSurveyResult(surveyResults).then((responses) => {
console.log(responses)
});
但是,在console.log(res)
中未定义返回的两个Promise.all()
res对象,正在调用console.log('submitted all
axios calls');
,然后then()回调的响应返回为:
我想知道我在做什么错了吗?
解决方法
这样编写函数:
var xml = result.Content.ReadAsStringAsync().Result;
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
string json = JsonConvert.SerializeXmlNode(doc);
Model model = JsonConvert.DeserializeObject<Model>(json);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。