第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從Promise內(nèi)部返回?cái)?shù)據(jù)、reduce、format?

如何從Promise內(nèi)部返回?cái)?shù)據(jù)、reduce、format?

一段時(shí)間以來(lái),我一直在努力讓這個(gè)測(cè)試通過(guò)。我希望它返回一個(gè)包含 3 個(gè) mockExpectedResult 對(duì)象的數(shù)組步驟1:減少計(jì)劃操作數(shù)組(省略沒(méi)有路徑的項(xiàng)目)。這應(yīng)該返回 InventoryItemPath 的字符串?dāng)?shù)組第 2 步:減少 InventoryItemPath 數(shù)組 (freeRewardsInventory),對(duì)服務(wù)進(jìn)行異步調(diào)用(getItem 是此異步 GET 請(qǐng)求的模擬),該服務(wù)返回 Promise。第 3 步:通過(guò) freeRewardsRaw Promises 進(jìn)行縮減,格式化為 mockExpectedResult步驟 4:返回輸出(mockExpectedResults 數(shù)組)我認(rèn)為我的主要問(wèn)題是我沒(méi)有等待所有這些承諾(也許錯(cuò)過(guò)了一個(gè)等待?)謝謝你的幫助。const mockScheduledOperation = {    Ranks: [{            FreeRewards: {                InventoryRewards: [{                    InventoryItemPath: 'Inventory/Armor/Visors/012-001-reach-c09fa0b7.json',                }, ],            },        },        {            FreeRewards: {                InventoryRewards: [{                    InventoryItemPath: 'Inventory/Armor/Visors/012-001-reach-c09fa0b7.json',                }, ],            },        },        {            FreeRewards: {                InventoryRewards: [{                    InventoryItemPath: 'Inventory/Armor/Visors/012-001-reach-c09fa0b7.json',                }, ],            },        }    ]};const getAllRewards = async () => {    const freeRewardsInventory = mockScheduledOperation.Ranks.reduce(        (agg, rank) => {            if (rank.FreeRewards.InventoryRewards.length > 0) {                const rewardList = rank.FreeRewards.InventoryRewards.reduce(                    (agg, reward) => {                        if (reward.InventoryItemPath) {                            agg = reward.InventoryItemPath;                        }                        return agg;                    },                    ''                );                agg.push(rewardList);            }            return agg;        },        []    );    const getItem = async (rewardPath: string) => mockReturnedItem;    const freeRewardsRaw = freeRewardsInventory.reduce < [] > (        async (agg, rewardPath) => {                const promise = await getItem(rewardPath);                agg.push(promise);                return agg;            },            []    );
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

我試圖簡(jiǎn)化您的代碼和reduce. 我已將 s 替換reduce為filters 和maps。請(qǐng)檢查一下并告訴我這是否有幫助。


const mockScheduledOperation = {

    Ranks: [{

            FreeRewards: {

                InventoryRewards: [{

                    InventoryItemPath: 'Inventory/Armor/Visors/012-001-reach-c09fa0b7.json',

                }, ],

            },

        },

        {

            FreeRewards: {

                InventoryRewards: [{

                    InventoryItemPath: 'Inventory/Armor/Visors/012-001-reach-c09fa0b7.json',

                }, ],

            },

        },

        {

            FreeRewards: {

                InventoryRewards: [{

                    InventoryItemPath: 'Inventory/Armor/Visors/012-001-reach-c09fa0b7.json',

                }, ],

            },

        }

    ]

};

    

const getAllRewards = async () => {

    

    const freeRewardsInventory = 

        ([] as string[])

        // converting multi-dimensional array into uni-dimensional

        .concat(

            ...mockScheduledOperation.Ranks

            .filter(rank => rank.FreeRewards.InventoryRewards.length)

            .map(rank => (

                rank.FreeRewards.InventoryRewards

                    // removing all falsy values

                    .filter(Boolean)

                    .map(item => item.InventoryItemPath)

            )

        )

    );


    const getItem = (rewardPath: string) => mockReturnedItem;



    const freeRewardsRaw = await Promise.all(freeRewardsInventory.map(rewardPath => getItem(rewardPath)))


    const formattedRewards = freeRewardsRaw

        .map < ProgressionRewards[] > ((res) => {

                const formattedReward: ProgressionRewards = {

                    // free = unlocked, paid = locked

                    locked: false,

                    level: null,

                    difficulty: res.CommonData.Quality || null,

                    date: res.CommonData.DateReleased.ISO8601Date || null,

                    rewardAttachments: [{

                        image: res.CommonData.DisplayPath.Media.MediaUrl.Path || null,

                        title: res.CommonData.Title.value || null,

                        description: res.CommonData.Description.value || null,

                        type: res.CommonData.Type || null,

                        released: null,

                        manufacturer: null,

                        howUnlock: null,

                    }, ],

                };

                return formattedReward;

            }, []);

        }

    );


    return formattedRewards;

};



查看完整回答
反對(duì) 回復(fù) 2023-08-18
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)