登录  /  注册
javascript - 怎么 同步取得 fileReader onload 处理的数据
PHPz
PHPz 2017-04-11 11:08:44
[JavaScript讨论组]

大概流程是:

.on('xxxxx', function(){
   fileReader.readAsArrayBuffer(file)  //读完数据 触发 onload
   // 需要传递参数 {"sendData" : data} 到插件流程中  //onload是异步的,data不能同步取得。。
   // 用 while(1){ if (data) break; } 的方式 会卡死
   //  sleep() 还是会 假死 或者 单线程耗CPU, setTimeout() 不执行。。
   
    function sleep(ms) {
        var unixtime_ms = new Date().getTime();
        while(new Date().getTime() < unixtime_ms + ms) {}
    }
    a = 0;   
    setTimeout(function(){console.log('11111');  a = 1 }, 300);
    while ( a == 0 ){
      console.log('0000');
      sleep(100);
   } 
   
   // promise 不能 阻止 顺序执行到插件流程 
   // 进入 一个插件 的处理流程 。。。 
});

fileReader.onload = function(){
  // 处理数据
  // 得到 data = xxxx;  data 是全局变量
};

PHPz
PHPz

学习是最好的投资!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号