JS-我的网站上的NodeList.forEach是否为asyc?

时间:2018-11-19 09:15:44

标签: javascript asynchronous

我正在为自己的网页写一些JS。

我已经使用node_modules然后使用document.querySelectorAll查询了div列表 (https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach

但是我想知道我的代码会顺序运行-即我的NodeList.forEach中的回调将某些项目推入数组。

我可以确定下一步是仅在forEach遍历每个元素之后才会发生吗?

NodeList.forEach

那么,在我制作“花式字符串”的最后一点上,该行是否总是出现在forEach之后?

谢谢。

1 个答案:

答案 0 :(得分:1)

  

我可以确定下一步是仅在forEach遍历每个元素之后才会发生吗?

是的。 NodeList#forEach是同步操作。


旁注:您可以使用Array.prototype.map

selectedTagsArray = Array.prototype.map.call(selectedTags, function(currentValue) { 
    return currentValue.attributes.value.value; 
});

或在ES2015 +中:

selectedTagsArray = Array.from(selectedTags).map(function(currentValue) { 
    return currentValue.attributes.value.value; 
});

或:

selectedTagsArray = [...selectedTags].map(function(currentValue) { 
    return currentValue.attributes.value.value; 
});

旁注2:如果您想要input当前值,则它不是属性;使用value属性代替:currentValue.value,而不是currentValue.attributes.value.value