CameraPreview takePicture() 不返回任何内容



我一直在尝试更新一个旧应用程序,该应用程序具有旧版本的相机预览插件,该插件仍然具有允许我返回图像 url 的setOnPictureTakenHandler方法。

较新版本的插件使用takePicture()方法,我可以在其中定义一个将调用 onSuccess 的函数,并且我定义了该函数以返回所拍摄图像的 URL。但是我无法在onSuccess函数之外获取该 URL!

我刚刚转向打字稿,所以我想这是管理变量的某种错误。我正在使用 cameraPreview 的提供程序,并且我已经为插件的takePicture()方法创建了一个信封。该信封应将 URL 返回到我在其中注入提供程序的控制器。

以下是提供商的信封代码:

url:string;
takePictures2() :string {    
this.cameraPreview.takePicture(function(imgData){
this.url = "data:image/jpeg;base64" + imgData;
}).then();    
return this.url;
};

下面是控制器代码:

takePictures() {
let url : string = this.cameraPreview.takePictures2();
console.log(url);
}

我还没有测试下面的代码,但我会:

1(承诺takePicture2。它包装插件的takePicture方法,并在完成后解析 url:

takePictures2(): Promise<string> {
return new Promise((resolve, reject) => {
this.cameraPreview.takePicture(function(imgData) {
resolve("data:image/jpeg;base64" + imgData);
});
};
};

2(takePictures等待 takePictures2 解决:

takePictures() {
let url : string;
this.cameraPreview.takePictures2().then(url => {
this.url = url;
console.log(url);
);
};

相关内容

  • 没有找到相关文章

最新更新