HarmonyOS 组件截图并发过多时,报错,截图失败。 错误码:100001?

如题:HarmonyOS 组件截图并发过多时,报错,截图失败。 错误码:100001?

阅读 621
1 个回答

报错因为代码中循环根据id获取截图的时候,图片还没渲染出来,所以报错100001 (if id is not valid.)代码中的promiseList改成下面的实现,监听图片渲染完成后再截图:

const promiseList = Promise.all(keys.map(key => { 
              const listener = inspector.createComponentObserver(`image_${key}`) 
              return new Promise<image.PixelMap>((resolve, reject) => { 
                listener.on('draw', () => { 
                  componentSnapshot.get(`image_${key}`).then((data) => { 
                    console.log('componentSnapshot successful'+`: image_${key}`); 
                    resolve(data) 
                  }).catch((err: BusinessError) => { 
                    console.log(`snapshot get error: image_${key}`); 
                    reject(err) 
                  }); 
                }) 
              }) 
            }))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进