【发布时间】:2017-10-23 22:12:48
【问题描述】:
我使用 babel-polyfill/babel-preset-es2017 创建了一个使用异步函数方法的对象,但是我遇到了this 的问题:
let obj = () => {
return {
doAsync: async () => {
let thing = await longProcess()
return this.transform(thing)
},
transform: (thing) => {
return psuedoCodeTransform(thing)
}
}
}
let instance = obj()
instance.doAsync()
// TypeError: cannot read property 'transform' of undefined`.
这是 ES2017 中描述的东西,一个 babel-polyfill/regeneratorRuntime 陷阱吗?
【问题讨论】:
-
这与
async/await无关,与箭头函数无关。 -
ES7 !== ES2017 ...
标签: javascript async-await this babeljs ecmascript-2017