this.book.ready.then(() => { return this.book.loacations.generate() }).then(res => { console.log(res) this.locations = this.book.loacations
() =>
res =>
这两个又有什么区别呢?
这个问题有点大,你需要了解的知识点是:
1,js为什么要设计为单线程,单线程的优点及缺点,引出异步的概念
2,了解eventloop机制,弄清楚异步函数是如何执行的
3,更深入了解的话异步又分macrotask和microtask.其中promise方法属于microtask.这里的this.book.ready.then显然就是promise对象.
4,此时你得好好研究promise对象.这是es6里非常重要的对象
5,在研究过程中你会看到很多()=>{}这样的箭头函数,这也是es6里的新内容.
到此这个问题应该能解决了.(这5点都是长篇大论需要花时间去琢磨)