Javascript 使用带承诺的生成器

Javascript 使用带承诺的生成器,javascript,es6-promise,builder,Javascript,Es6 Promise,Builder,我有一个Builder类,它有一个load函数:(需要注意的是,我不能更改loaders的load函数) 当我尝试调用完整构建链时,我得到一个错误: (中间对象)。加载(…)。生成不是函数 我的函数链:var object=newbuilder().load('someurl.com').build() 当我调用时:var object=newbuilder().load('someurl.com')然后console.log(对象)记录的对象为builder类型,并加载了正确的对象 我希望能够

我有一个Builder类,它有一个load函数:(需要注意的是,我不能更改loaders的load函数)

当我尝试调用完整构建链时,我得到一个错误:

(中间对象)。加载(…)。生成不是函数

我的函数链:
var object=newbuilder().load('someurl.com').build()

当我调用时:
var object=newbuilder().load('someurl.com')
然后
console.log(对象)记录的对象为builder类型,并加载了正确的对象

我希望能够在加载对象后调用生成器上的函数。这包括需要修改加载对象的函数。
我正在寻找一个令人愉快的语义解决方案,而不是一个解决办法。

这是一个时间问题。试试这个:

var object = (await (new Builder().load('someurl.com'))).build();
在Builder类中,
load
函数是异步的,因此返回一个Promise对象。在原始代码中,您试图访问未定义的Promise对象的
build()
方法

var object = (await (new Builder().load('someurl.com'))).build();