для l oop выполняется асинхронная операция c. К тому времени, когда оба вызова pos enet будут разрешены, для изображения будет установлен последний пункт для l oop.
Использование async ... await
помешает иметь только оценку pos enet для последнего элемента l oop.
async function myfun() {
arr = ["http://127.0.0.1:8080/pic1.jpeg", "http://127.0.0.1:8080/pic2.jpeg", "http: //127.0.0.1:8080/pic3.jpeg", "http://127.0.0.1:8080/pic4.jpeg", "http://127.0.0.1:8080/pic5.jpeg"]
var x;
for (x of arr) {
document.getElementById("cat").src = x;
var flipHorizontal = false;
var imageElement = document.getElementById('cat');
imageElement.crossOrigin = "Anonymous";
const p = new Promise((resolve, reject) => {
imageElement.onload = _ => {
resolve(imageElement)
}
})
const net = await posenet.load({
architecture: 'MobileNetV1',
outputStride: 16
})
const pose = await net.estimateSinglePose(await p, {
flipHorizontal: true
});
console.log(pose);
}
Кроме того, модель может быть загружена перед запуском l oop. Один экземпляр модели можно использовать для всех оценок.