Angularjs $ .post代码在REST代码后运行



我在angularjs中创建了以下函数

      var enq_dt = new Date();
        $.post("/api/EMSAPI/EnquiryDetails?enq_no="+o_enq_no, null, function (returnedData) {
            enq_dt = returnedData["D_O_O"];
            console.log("Loading Post Block");
            console.log(enq_dt);
        });

        console.log("Loading General Block ");
        console.log(enq_dt);
        $scope.CurrentQuotation = {
            EnquiryNo:o_enq_no,
            EnquiryDate: enq_dt,
            QuotationBy:"TEST"
        };

我在控制台窗口中获得以下结果。加载一般块2010-11-26T00:00:00加载后块2010-12-12T00:00:00


我想首先加载帖子块,然后我想运行一般块。

我缺少什么(我是Angular的新手)?

预先感谢。

我建议您Google google单词"异步"。在JavaScript中,诸如HTTP请求之类的东西几乎总是异步。

要使您的常规代码在帖子之后运行,请使用.then()致电:

function generalCode() {
    console.log("Loading General Block ");
    console.log(enq_dt);
    $scope.CurrentQuotation = {
        EnquiryNo:o_enq_no,
        EnquiryDate: enq_dt,
        QuotationBy:"TEST"
    };
}
var enq_dt = new Date();
$.post("/api/EMSAPI/EnquiryDetails?enq_no="+o_enq_no, null)
   .then(function (returnedData) {
       enq_dt = returnedData["D_O_O"];
       console.log("Loading Post Block");
       console.log(enq_dt);
   })
   .then(generalCode);