【发布时间】:2018-06-21 13:39:54
【问题描述】:
我想确保给定的 API 调用受到限制,以便在给定的时间间隔内,只触发一个请求,而其他受限制的请求等待并接收主动触发的请求的结果
示例
const generateReport = (args) => client.get(...)
const generateReportA = (argsForA) =>
generateReport(argsForA).then(saveReportSomewhere)
const generateReportB = (argsForB) =>
generateReport(argsForB).then(saveReportSomewhere)
const generateReportC = (argsForC) =>
generateReport(argsForC).then(saveReportSomewhere)
如果我们接着运行下面的语句
generateReportA(...).then(console.log) // should log result of C
generateReportB(...).then(console.log) // should log result of C
generateReportC(...).then(console.log) // should log result
紧接着,我只想触发与generateReportC 关联的请求,我希望generateReportA 和generateReportB 都接收并处理generateReportC 的结果。
最后,generateReport 应该被调用一次,saveReportSomewhere 应该被调用 3 次,每次都有来自generateReportC 的结果
这可能吗?
【问题讨论】: