当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未执行到


当thunks遇到babel时发生的一个错误_第1张图片
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;
})

你可能感兴趣的:(当thunks遇到babel时发生的一个错误)