私の目標は、コンポーネントが親アイテムを識別できるときにアイテムリストにプッシュすることです。 問題は私がリストにpushingしているときです。console.log()はオブジェクトがそこにあることを示していますが、リストを返して別の関数でキャッチするとリストには何もありません。 アイテムリストは、上のコードが実行される前に返されると思います。angularJSとTypescriptの約束
private get_items_for_request() {
return this.Item.forRequest(this.request.id, ['group'])
.then((_items) => {
var items = [];
for (var item of _items) {
return this.ItemComponent.forItem(item.id, ['type'])
.then((_components) => {
for (var component of _components) {
if (component.type.can_identify_item) {
items.push({
group_id: item.group.reference,
identifier_code: this.remove_check_digit_if_necessary(
component.identifier_code),
quantity: 1
});
break;
}
}
}, (reason) => {
this.Toast.error(
this.gettextCatalog.getString('components.load_failed'));
return [];
});
}
return items;
}, (reason) => {
this.Toast.error(
this.gettextCatalog.getString('items.failed_load'));
return [];
});
}
@GiftZwergrapper動作コードを受信したい場合は、plunkrの例、または少なくともファイル全体をリンクする必要があります。私はあなたが何を期待しているのかわからない、我々は媒体ではない。 Angular 1を使用している場合、 '$ q'サービスはPromiseライブラリです。 –
@GiftZwergrapperまた、私が指摘したエラーはまだそこにあることに注意してください、あなたはここで下降音符で少し積極的です。 –
角度では、同じ目的で '$ q.all'を使うことができます – Icycool