我在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);