我正在尝试按照它的顺序运行一个函数而且只是不能。
我曾尝试阅读一些问题和答案,但不明白。
如何在alert("1")
alert("2");
this.getCustomers = function () {
$http
.get('/getMessages').success(function (data,status) {
alert("1");
return data;
});
alert("2");
};
谢谢!
答案 0 :(得分:0)
只有在getMessages请求返回成功响应后,才会执行success函数中的代码。因此,要在警报('1')之后发出警报('2'),请将警报('1')后的代码放入,但仍然在成功函数中:
this.getCustomers = function () {
$http
.get('/getMessages').success(function (data,status) {
alert("1");
alert("2");
});
};
答案 1 :(得分:0)
看看这段代码。它使用监视功能等待第一个对话框被点击。
节点全部是非阻塞的,因此这个异步监视将确保警报按您想要的顺序排列。
var first = alert("1");
var stopWatching = $scope.$watch(function () {
return first;
}, function () {
alert("2");
stopWatching();
}, true);
答案 2 :(得分:0)
您可以使用Composable-middleware。
示例:
composable_middleware()
.use($http.get('/getMessages').success(function (data,status) {
alert("1");
return data;
}))
.use(function(req,res,next) {
alert("2");
});
更多信息:https://github.com/randymized/composable-middleware
和npm link:https://www.npmjs.com/package/composable-middleware