gpt4 book ai didi

javascript - 如何根据 ember.js Controller 中的 ajax 响应显示或隐藏微调器?

转载 作者:搜寻专家 更新时间:2023-11-01 05:23:19 25 4
gpt4 key购买 nike

我已经为一个按钮设置了一个 emberjs Action ,这样,每当用户单击该按钮时,我都需要将用户导航到一个新页面。在进行转换之前,我需要进行几次 api 调用,并根据 api 调用的结果将用户转换到一个新页面。我对基于结果的转换没有任何问题,但在这些 api 调用期间我无法显示微调器图像。

在例子中here我使用 setTimeout 方法来延迟转换,因为我无法公开 api。在那里我可以看到控制台日志是按顺序打印的;但我在超时期间看不到微调器。任何帮助将不胜感激。提前致谢。

最佳答案

使用RSVP Promises等待所有 API 查询完成:

App.IndexController = Ember.Controller.extend({
actions: {
'goToFoo': function(){
var Indexcontroller = this;
showSpinner();

Ember.RSVP.all(promisesArray).then(function(resultsArray) {
hideSpinner();
Indexcontroller.transitionToRoute('foo');
}, function(error) {
...handle errors
});
}
}
});

ajax 请求将返回一个 promise,因此您可以在一个数组中对它们进行批处理并将其传递给 RSVP.all 方法。 resultsArray 将按顺序包含每个 ajax 调用的结果。如果任何响应产生错误,将调用错误函数。

关于javascript - 如何根据 ember.js Controller 中的 ajax 响应显示或隐藏微调器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22046496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com