こんにちは。TypeScriptでObject型の配列のソートを実装したいのですが、
Promiseが介されていて実現できていません。
orders?: Promise<OrderEntity[]> get orderTypes(): Promise<OrderEntity['orderType'][]> { return (async () => (await this.orders).map(({ orderType }) => orderType)() .then((orderTypes => { return orderTypes.sort(sortOrder); }); } export const sortOrder = (a: any, b: any) => { console.log(a); return a.id > b.id ? 1 : -1; };
ログで出力したら、listの中身はobject Promiseと表示されているので格納はされていると思うのですが、、
お分かりになる方いましたら宜しくお願いします。
そもそも、このコードは文法的に正しくないように思われます。エラーなどは出ていないでしょうか?
失礼しました。開発環境と別PCの為、目視で打ってますが、ソートの部分でしょうか。実際のソートFunctionはこのようにしてます。
> ソートの部分でしょうか。
いえ、コールバック関数全体を通してです。
・new Promise(アロー関数)の形でないと文法的に成り立ちません。
・asyncでない関数の中にawaitは書けません。
特に、後者は非同期処理がどのように実装されているかにもまつわる部分なので、正確に書かないと回答不能です。
ありがとうございます。こちらでどうでしょうか?
コンソール自体には[object Promise]と動いてはおります。
申し訳ありません。。
回答1件
あなたの回答
tips
プレビュー