Cats萌萌
2022-06-05 15:54:07
所以我有終點(diǎn)功能import AppConfig from "../config/app-config";const create = (baseURL = AppConfig.apiUrl) => { const api = apisauce.create({ baseURL, headers: { "Cache-Control": "no-cache" }, timeout: 10000 });const listAssignedDevices = vehicleId => api.get(`api/fleet/vehicle/${vehicleId}/devices`) return listAssignedDevicesexport default create已編輯我嘗試使用數(shù)組調(diào)用該端點(diǎn)作為 redux-saga 中的參數(shù)列表我已經(jīng)嘗試使用像redux-saga 中的 map 函數(shù):如何以編程方式創(chuàng)建多個(gè)調(diào)用/副作用以獲得收益?const listVehicleId = [1,2,3,4,5,6,7]const response = yield listVehicleId.map(vehicleId => call(api.listAssignedDevices, vehicleId)console.log(response)if (response.ok && response.headers['content-type'].indexOf('json') !== -1) { console.tron.log('AturBcak - OK') yield put(AturBcakActions.aturBcakMultipleSuccess(response.data)) }但響應(yīng)未定義,我想知道如何使用不同的參數(shù)進(jìn)行多次調(diào)用。
2 回答

動(dòng)漫人物
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
我通過 yield all 來解決我的問題
const response = yield all(
listVehicleId.map(vehicleId =>
call(api.listAssignedDevices, vehicleId)
)
)
由此
https://github.com/redux-saga/redux-saga/issues/1800#issuecomment-468627409

倚天杖
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
api.listAssignedDevices
必須是一個(gè)以vehicleId
參數(shù)為參數(shù),執(zhí)行網(wǎng)絡(luò)請(qǐng)求并返回結(jié)果的函數(shù)。從您的示例中,它只是一個(gè)從 vehicleId 構(gòu)造 url 但不執(zhí)行網(wǎng)絡(luò)請(qǐng)求的函數(shù)
const listAssignedDevices = vehicleId => fetch(`vehicle/${vehicleId}/devices`)
添加回答
舉報(bào)
0/150
提交
取消