Javascript 如何将回调函数与readAsDataURL()一起使用
我已经阅读了这篇文章和很多关于如何使用回调函数的例子,但是当我试图复制我在例子中看到的东西时,我无法正确地得到它 我正在尝试将pdf上传到输入,将上传的数据转换为二进制字符串,然后以某种方式使用该字符串 问题是我无法使用字符串部分等待转换为二进制字符串部分 下面是我的JSFIDLE,其中有一个问题示例: 这就是我期望它的工作方式: 1用户上传pdf 2次用户单击获取二进制字符串 3 convert函数进行转换,完成后调用handleResult 4 handleResult使用二进制字符串 实际发生的情况: 1用户上传pdf 2次用户单击获取二进制字符串 3 convert函数在完成转换之前立即调用handleResultJavascript 如何将回调函数与readAsDataURL()一起使用,javascript,jquery,callback,filereader,Javascript,Jquery,Callback,Filereader,我已经阅读了这篇文章和很多关于如何使用回调函数的例子,但是当我试图复制我在例子中看到的东西时,我无法正确地得到它 我正在尝试将pdf上传到输入,将上传的数据转换为二进制字符串,然后以某种方式使用该字符串 问题是我无法使用字符串部分等待转换为二进制字符串部分 下面是我的JSFIDLE,其中有一个问题示例: 这就是我期望它的工作方式: 1用户上传pdf 2次用户单击获取二进制字符串 3 convert函数进行转换,完成后调用handleResult 4 handleResult使用二进制字符串 实际
4 HandlerResult尝试使用二进制字符串,Javascript是异步的,因此在读取文件之前会触发回调 您需要在来自FileReader的事件中触发回调。请查看文档,以获得一个很好的示例- 像这样的东西应该可以-
function getBase64(file, callback) {
var reader = new FileReader();
reader.onload = function(event) {
callback(event.target.result);
};
reader.readAsDataURL(file);
}
function getBase64(file, callback) {
var reader = new FileReader();
reader.onload = function(event) {
callback(event.target.result);
};
reader.readAsDataURL(file);
}