我的最终目标是将一大块数据库分配给基于类的对象。为此,我在.then()
函数的帮助下利用打字稿中的promises来链接它们。但是我遇到了砖墙。
return(this.httpService.post(someurl, somepayload, someheaders)
.toPromise()
.then(response => response.json())
.then(MyCustomClass.function(MyObject)));
但是,当此代码在获得.then(MyCustomClass.function(MyObject))
之前执行response.json()
时会导致程序出现问题。
我的问题是,为什么它们按照这个顺序发生,有什么方法可以强迫它们按顺序执行?
答案 0 :(得分:3)
您正在调用MyCustomClass.function(MyObject)
,并将返回的值传递给then()
。你真正想要的是传递一个函数,当被调用时,它将执行MyCustomClass.function(MyObject)
:
.then(() => {
MyCustomClass.function(MyObject);
}));