Como faço para o meu script aguardar o código php finalizar?

Estou fazendo aqui um código que está enviando coisas pra minha base de dados e ainda demora pra enviar e queria que o Javascript esperasse o PHP terminar para depois sim continuar com o seu código?

O meu código está assim (JavaScript):

<script>
	var app = angular.module("noticia",[]);
	var msg;
	app.controller("controller", function($scope, $http){
		$scope.adicionar = function() {
		msg = "A notícia foi adicionada.";
		document.getElementById("mensagem").innerHTML = msg;
		$http.post("inserirAlerta",
			{   'titulo':$scope.titulonoticia, 
				'descricao':$scope.descricaonoticia, 
				'data':$scope.datanoticia, 
				'imagem':$scope.imagemnoticia, 
				'tipo':$scope.tiponoticia
			})
		}

	});

Está tudo funcionando, só queria que ele aguardasse uma resposta do código que está sendo executado no meu PHP.

O seu código tem problemas, já visto que não usou somente o angular (que resolve totalmente o problema com o uso de document.getElementById("mensagem").innerHTML = msg;) e você tem que usar Angular ai para atualizar esse mensagem).

o $http.post é da seguinte forma:

post(url, data, [config]);

e para saber se essa requisição teve sucesso ou não continue:

post(url, data, [config]).then(function(response) {
    //se entrar aqui houve sucesso, foi completado com exito 
 }, function(error){
    //se entrar aqui houve problemas a execução teve problemas
});

então são nesses dois métodos que você tem o poder de decidir o que pode ser feito posteriormente

Valeu pela resposta, sou um pouco novo ent\ao n\ao estou entendendo muito bem essa primera parte do $http.post…
Tenho que deixar assim?

Como falei, eu sou novo, tentei isso e não funciona mas tenho a certeza que estou faznedo algo errado, poderia me ajudar?

Irei enviar em print e em código:

image

Código:

var app = angular.module("noticia",[]);
var msg;
app.controller("controller", function($scope, $http){
	$scope.adicionar = function(){
		msg = "A notícia foi adicionada.";
		document.getElementById("mensagem").innerHTML = msg;
		$http.post(
		"inserirAlerta",
		{'titulo':$scope.titulonoticia, 'descricao':$scope.descricaonoticia, 'data':$scope.datanoticia, 'imagem':$scope.imagemnoticia, 'tipo':$scope.tiponoticia}
		)
		$http.post(url, data, [config]).then(function(response) {
    	//se entrar aqui houve sucesso, foi completado com exito 
		alert("sucesso");
 		}, function(error){
    	//se entrar aqui houve problemas a execução teve problemas
		alert("erro");
	});
	}
});