商店中的 Flux ajax api 调用返回父函数
Posted
技术标签:
【中文标题】商店中的 Flux ajax api 调用返回父函数【英文标题】:Flux ajax api calls in stores return to parent function 【发布时间】:2016-04-22 23:15:16 【问题描述】:我正在使用以下方法调用我的 api:
getBall: function()
ball = xhttp(
url: '/current',
method: 'get'
).then(function(data)
return data;
)
return ball;
问题是我无法在父函数中访问data
。我尝试分配变量ball
(一个promise对象),但它永远不会让我访问data
。
我想将data
的值返回给父函数(getBall
)。最干净的方法是什么?
【问题讨论】:
这是一个承诺。为什么getBall().then( data => /* ... */ )
不起作用?
【参考方案1】:
getBall
函数很可能在 xhttp 请求完成之前退出。所以没有办法将data
传回getBall
。您能做的最好的事情就是将额外的.then
子句附加到ball
,或者将ball
作为承诺传递给getBall
的调用者。调用者可以附加自己的.then
子句。
另一种方法是使用 generators,但它和所有其他异步方法(例如 Promises(甚至简单的回调))都需要超越传统的命令式模型。
【讨论】:
你是绝对正确的。它确实在xhttp
完成之前退出getBall
。此函数的目标是简单地从 ajax 调用返回数据。话虽如此,实现这一目标的最简单方法是什么……取消承诺?以上是关于商店中的 Flux ajax api 调用返回父函数的主要内容,如果未能解决你的问题,请参考以下文章