비동기 적으로 수행하는 방법 console.log ("모든 후 완료 후 인쇄"각 루프마다 여러 삽입 기능을 대기/완료하는 방법은 무엇입니까?
나는 forEach forEach를 가지고있다.
InsertService는 값을 반환하지 않습니다. 여기에 삽입하고 싶습니다.
$ q 및 $ q.all을 적용하는 방법을 모르겠습니다. pls 도움이됩니다. 삽입()이 같은 것을 할 수있는 약속을 반환하는 경우
angular.forEach(MAIN, function (value, key) {
//#1
SelectService1.SelectID(value.id).then(function (res) {
angular.forEach(res, function (value, key) {
InsertService1.Insert(value).then(function (res) {
console.log("NEW INSERTED Service 1!");
},
function (err) {
});
});
},
function (err) {
});
//#2
SelectService2.SelectID(value.id).then(function (res) {
angular.forEach(res, function (value, key) {
InsertService2.Insert(value).then(function (res) {
console.log("NEW INSERTED Service 2!");
},
function (err) {
});
});
},
function (err) {
});
//#3
SelectService3.SelectID(value.id).then(function (res) {
angular.forEach(res, function (value, key) {
InsertService3.Insert(value).then(function (res) {
console.log("NEW INSERTED Service 3!");
},
function (err) {
});
});
},
function (err) {
});
});
//
console.log("PRINT THIS, AFTER ALL LOOP IS DONE");
}
myInsert는 어떤 값도 반환하지 않습니다. 단지 삽입하고 싶습니다. 삽입하고 싶으면 "ALL IS DONE"을 인쇄하고 싶습니다. –
선생님, 내 질문을 편집하십시오. –
@PauloDelaCruz Insert가 값을 반환하지 않으면 .then()을 사용할 수 없습니다. 그게 틀렸어? 이제는 selectID라는 호출이 있으며 약속을 반환해야합니다. – rjustin