javascript - 怎么在babel插件中编译异步回调结果?
PHP中文网
PHP中文网 2017-04-10 17:44:47
[JavaScript讨论组]
export default myplugin = ({ type:t }) => {
       let visitor = {
            stringLiteral ( path ) {
                  asyncfn(path, result =>{
                      // do something async
                      // how can i get these async result into ast tree?
                  })
            }
       }
       return {
            visitor
       }
}

https://github.com/babel/babel.github.io/issues/762

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHP中文网

如果需要异步转同步,Promise、Generator 和 Async 不是很好的解决方案么?

不知下面的代码是否对你有用。

const asyncfn = (node) => {
  return new Promise((resolve, reject) => {
    // balalala
    //...pipe(...).on( 'finish', () => resolve(null, 'haha') )
  });
};

export default myplugin = ({ type:t }) => {
  let visitor = {
    stringLiteral (path) {

      const getAsyncfnResult = async () => {
        const result = await asyncfn(path.node);
        // haha
      };

      getAsyncfnResult();

    }
  }
  return {
    visitor
  }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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