0
マップ内でサガを並行して実行する方法を理解するのに数時間を費やしました。地図内のサガの呼び出しが機能しない
私が見つけたものを試しました:yield result.map(item => call(api.endpoint, item))
しかし、何も起こっていないようです。ここで
は私がやっていたものです。
export function* syncCanvasesByFolder(<someParams>) {
yield call(api.syncCanvasForFolder, <someParam>);
}
export default function* syncAllFoldersForSurvey(<someParams>) {
// Get list of folder for a survey
const folders = yield call(data.getFolderBySurvey, surveyId);
//For each folder sync canvases
yield all(folders.map(folder => {
call(syncCanvasesByFolder, folder.id, lastSyncedAt, access_token)
}));
/*Sequential call*/
// for (const i in folders) {
// if (folders.hasOwnProperty(i)) {
// yield call(syncCanvasesByFolder, folders[i].id, lastSyncedAt, access_token);
// // yield call(canvasSyncSaga.syncAllCanvasesForFolder, folders[i].id, lastSyncedAt);
// }
// }
}
シーケンシャルコールは、forループで行われたときに働いています。しかし、地図の中で何も起こっていないようです。 exception/errors
も取得できません。
syncCanvasesByFolder
は、マップを使用しているときに決して呼び出されません。
解決を(動作しません) (フォルダ=> { (syncCanvasesByFolder、folder.id、lastSyncedAt、access_token) })))) '' –