私は約束を使用しています。これは私の質問に続きます。herePromise.allから値がNULLになる
私が抱えている問題は、応答として、つまりオブジェクトの配列にヌル値があることです。私はその後、私は店のリストとコールを反復私は
- ファーストを説明しようとしますこのストアがユーザーのお気に入りのストアであるかどうかを確認する別のAPI
次に、私は各店舗の商品を手に入れ、オブジェクトに追加して返します。
function getStoresList(context) { const userID = common.getUserID(context) let userWishListProd = [] return userID .then(uid => Wishlist.getUserWishlistProducts(uid).then((products) => { userWishListProd = products.data.map(product => +product.id) return uid })) .then(uid => api.getOfficialStoresList(uid).then((response) => { if (!response.data) { const raw = JSON.stringify(response) return [] } const shops = response.data return Promise.all( shops.map((shop) => { const id = shop.shop_id const shopobj = { id, name: shop.shop_name, } return favAPI.checkFavourite(uid, id) .then((favData) => { shopobj.is_fave_shop = favData // Fetch the products of shop return getProductList(id, uid) .then((responsedata) => { shopobj.products = responsedata.data.products.map(product => ({ id: product.id, name: product.name, is_wishlist: userWishListProd.indexOf(product.id) > -1, })) return shopobj }) .catch(() => {}) }) .catch(err => console.error(err)) })) .then(responses => responses) .catch(err => console.log(err)) }) .catch(() => {})) .catch() }
Iが得る応答は、実際の店舗は、添付されますヌル4としてではなくそれを
[{
"id": 1001,
"name": "Gaurdian Store",
"is_fave_shop": "0",
"products": [{
"id": 14285912,
"name": "Sofra Cream",
"is_wishlist": false
}]
},
null,
null,
{
"id": 1002,
"name": "decolite",
"is_fave_shop": "1",
"products": [{
"id": 14285912,
"name": "Denca SPF",
"is_wishlist": false
}]
}
]
来されます。ここで私が約束していることは間違っています。
'getProductList'コールが時々503を取得しているので、私はそれをキャッチし、結果として私は推測できません。 – Mozak
ああ、私の推測を確認するには良い:-)残っている問題はありますか?そうでない場合は、その答えを受け入れてください。 – Bergi