Await не перешел к следующей строке кода в Angular Ionic - PullRequest
0 голосов
/ 07 октября 2019

У меня есть цикл, который должен получить изображения, прежде чем продолжить. После завершения выборки он не переходит к следующей строке const detections, которая равна console.log('finishloadimage') и ниже. В браузере он выполняется, после компиляции в Android , он не продолжается. Мой код показан ниже

page.TS

  async loadLabeledImages() {
    console.log('loadlabeled')

    await faceapi.nets.tinyFaceDetector.loadFromUri('https://www.test.com/models');
    await faceapi.nets.faceLandmark68Net.loadFromUri('https://www.test.com/models');
    await faceapi.nets.faceRecognitionNet.loadFromUri('https://www.test.com/models');
    await faceapi.nets.faceExpressionNet.loadFromUri('https://www.test.com/models');
    await faceapi.nets.ssdMobilenetv1.loadFromUri('https://www.test.com/models');


    const labels = ['a', 'b', 'c']
    return Promise.all(
      labels.map(async label => {
        const descriptions = []

        for (let i = 1; i <= 1; i++) {
          const img = await faceapi.fetchImage('./assets/labeled_images/' + `${label}/${i}.JPG`)

          console.log('finishloadimage')

          const detections = await faceapi.detectSingleFace(img).withFaceLandmarks().withFaceDescriptor()
          console.log('foundimageoutput')
          descriptions.push(detections.descriptor)
          console.log('foundimagedescriptor')
        }
        console.log('readyoutputimg')
        return new faceapi.LabeledFaceDescriptors(label, descriptions)
      })
    )
  }
...