该变量正在函数内部进行更新,但是当在函数外部调用变量时,它将返回原始值。
我尝试将其更改为const或var,但仍保持不变。
let listSub =[];
let dataForJson = {};
async function getContent(url) {
let result = [];
await request(url, async (err, res, body) => {
if (err && res.statusCode !== 200) throw err;
const $ = cheerio.load(body, {
normalizeWhitespace: true,
xmlMode: true
});
$('#subcatpromo').children().map(function (index, element) {
$(element).children().map(function (i, hai) {
listSub.push($(hai).attr('id')); //or id
dataForJson[`${listSub[index]}`] =[]
});
});
result = await Promise.map(listSub, async(value, index)=> {
dataForJson[`${listSub[index]}`] =[]
return value;
}, {
concurrency: 10
});
});
return result
};
getContent(link);
console.log(dataForJson);
listSub应该在数组中具有值,并且dataForJason应该返回一个具有相同listSub值的对象。
原始:
listSub =[];
dataForJason ={};
预期:
listSub = ['hai', 'halo', 'yassas'];
dataForJason: {
'hai': [],
'halo': [],
'yassas': []
}