methods: {
getData() {
if(!this.token) {
console.log('token is null')
return
}
let tokenBody = {
"Content-Type": "application/json",
}
let itemsArr = []
this.bymbolArr.forEach(async item => {
console.log(item)
let tokenBody = {
'Content-Type': 'application/json',
}
let data = await post(Config.getSharesUrl, tokenBody);
if (data.RetrieveItem_Response_3) {
let dataArr = data.RetrieveItem_Response_3.ItemResponse[0].Item[0].Fields.Field;
if(dataArr.length > 0) {
var obj = {}
let arr = dataArr.forEach( item => {
if(item.Double) {
obj[item.Name] = item.Double
}
})
}
}
let itemObj = {}
itemObj[item] = obj
console.log('itemibj='itemObj)
itemsArr.push(itemObj)
})
console.log('itemsArr=' + itemsArr)
this.items = itemsArr
}
await 后边的post是自己用permise封装的ajax,配合async和await使用,结果先显示itemsArr= 空,再显示itemibj=的每项,是什么原因造成的?
不要在
async await
的时候有forEach
或者其他封装的方法可以用原始的
for
循环或for of
或者类似于这样的封装