最佳答案
作为一种组织模式,ES6课程可以为异步代码提供什么。下面是一个 ES7异步/等待的示例,ES6类可以在 ES7中使用异步方法或构造函数吗?
我可以做:
class Foo {
async constructor() {
let res = await getHTML();
this.res = res
}
}
如果不是,那么构造函数应该如何工作呢?
class Foo {
constructor() {
getHTML().then( function (res) {
this.res = res
}
}
}
If neither of these patterns work, can a constructor (and moreover classes) in an ES6 class
support any form of asynchronicity that operates on the object's state? Or, are they only for purely synchronous code bases? The above examples are in the constructor, but they don't need to be.. Pushing the problem down one more level..
class Foo {
myMethod () {
/* Can I do anything async here */
}
}
或者,用一个..。
class Foo {
get myProp() {
/* Is there any case that this is usefully asynchronous */
}
}
我能想到的唯一一个例子是在同一个方法/构造函数/getter 中并行运行一些东西,但是在结束之前要解决整个问题。我只是感到困惑,因为似乎所有的推动到完全异步库,这只是服务于混淆的东西。除了教科书上的例子,我找不到任何有用的应用程序。