函数同步和可观察
Function synchronization and observable
我有一个 Typescript 函数,可将元素列表转换为地图:地图。
在这个转换过程中,我需要在返回Map之前修改Map中的一些东西。
要获取信息,我必须请求一个服务器,所以我有一个 http.GET request/subscription 来获取值。
我正在使用 GET 之后的值,而服务器还没有响应,所以我返回的 Map 的值是错误的。
(来晚了,但为时已晚)。
然后我使用这张地图,其中我没有正确的值
我需要一种机制来同步我的函数与我的 GET 请求的结果,然后在我的代码中稍后处理 Map(在返回函数之后)。
我该怎么做,有人告诉我 Observable 可能是解决方案,但我不知道该怎么做。
我需要一些帮助 ;-)。
此致,
查尔斯.
How can I do this, I have been told that the Observable may be the solution, but I don't know how to do it.
对于异步事物,您需要某种形式的 continuation 机制。流行的选择是:
回调
原生支持,例如setTimeout
使用它
// Some code
setTimeout(() => {
// Some more code that executes after 1 second
}, 1000)
承诺
原生支持(现在)。一些关于 TypeScript 的文档以及它们如何提供帮助 https://basarat.gitbooks.io/typescript/docs/promise.html
观察值
如果您的框架 http returns observables 您将需要使用它们。
总结
你不能停止 entire JavaScript 的执行,因为 JavaScript 的 JS 上下文是单线程的。你需要继续工作。检查您正在使用的库(例如 angular / axios)或本机 api (fetch / XHR) 的文档。
我有一个 Typescript 函数,可将元素列表转换为地图:地图。
在这个转换过程中,我需要在返回Map之前修改Map中的一些东西。 要获取信息,我必须请求一个服务器,所以我有一个 http.GET request/subscription 来获取值。
我正在使用 GET 之后的值,而服务器还没有响应,所以我返回的 Map 的值是错误的。 (来晚了,但为时已晚)。
然后我使用这张地图,其中我没有正确的值
我需要一种机制来同步我的函数与我的 GET 请求的结果,然后在我的代码中稍后处理 Map(在返回函数之后)。
我该怎么做,有人告诉我 Observable 可能是解决方案,但我不知道该怎么做。
我需要一些帮助 ;-)。
此致, 查尔斯.
How can I do this, I have been told that the Observable may be the solution, but I don't know how to do it.
对于异步事物,您需要某种形式的 continuation 机制。流行的选择是:
回调
原生支持,例如setTimeout
使用它
// Some code
setTimeout(() => {
// Some more code that executes after 1 second
}, 1000)
承诺
原生支持(现在)。一些关于 TypeScript 的文档以及它们如何提供帮助 https://basarat.gitbooks.io/typescript/docs/promise.html
观察值
如果您的框架 http returns observables 您将需要使用它们。
总结
你不能停止 entire JavaScript 的执行,因为 JavaScript 的 JS 上下文是单线程的。你需要继续工作。检查您正在使用的库(例如 angular / axios)或本机 api (fetch / XHR) 的文档。