在Angularjs中使用then()有什么意义

时间:2015-07-27 05:30:22

标签: angularjs

例如,我有代码:

self.selectSongsAlbum = function(album) {
                        return self.query(
                                "SELECT * FROM Musics WHERE Album LIKE '%"
                                        + album + "%'").then(function(result) {
                            return self.fetchAll(result);
                        });
                    };

我真的没有在这里使用then()的想法。有人可以向我解释我们什么时候通常使用then()以及如何使用?

2 个答案:

答案 0 :(得分:0)

查看$q

.then()用于异步环境,是promise API的一部分。它承诺给你一个结果,你可以信任它返回成功(然后)或错误(错误)。

请参阅我分享的链接或此摘录

  

然后(successCallback,errorCallback,notifyCallback) - 无论何时或将要解析或拒绝承诺,只要结果可用,就会异步调用其中一个成功或错误回调。使用单个参数调用回调:结果或拒绝原因。此外,在解决或拒绝承诺之前,可以将通知回调调用零次或多次以提供进度指示。

答案 1 :(得分:0)

来自angularjs文档:The Promise API

  

然后(successCallback,errorCallback,notifyCallback) - 无论何时或将要解析或拒绝承诺,只要结果可用,就会异步调用其中一个成功或错误回调。使用单个参数调用回调:结果或拒绝原因。此外,在解决或拒绝承诺之前,可以将通知回调调用零次或多次以提供进度指示。

     

此方法返回一个新的promise,它通过successCallback,errorCallback的返回值解析或拒绝(除非该值是一个promise,在这种情况下,使用promise链接解析该promise中的值) 。它还通过notifyCallback方法的返回值进行通知。无法通过notifyCallback方法解析或拒绝承诺。