当thunks遇到babel时发生的一个错误

thunks 是一个比较强大的异步控制库.
中文说明

在使用中遇到如下bug,在此记录一下,避免下次遇到又得重新解决一次。

环境 webpack + babel,并且引入thunks。

let tk = thunks();
tk()
((err,va)=>{
    return tk.all([
        Promise.reject(8),
        999
    ])
})
((err,[a,b])=>{
    debugger;
})

以上代码会抛出如异常,并且debugger未执行到


image.png

Invalid attempt to destructure non-iterable instance

错误位置./node_modules/babel-runtime/helpers/slicedToArray.js?77b1

避免方法为,不使用es6的语法来接收参数。如下

let tk = thunks();
tk()
((err,va)=>{
    return tk.all([
        Promise.reject(8),
        999
    ])
})
((err,ret)=>{
    if(err){
        console.error(err);
        tk.stop();
    }
    let [value1,value2] = ret;
    debugger;
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容