实现一个控制请求并发函数 withConcurrency, 当前同一时间发出的请求数量不超过指定参数 max 的值。 function request(options) { setTimeout(() => { options.success && options.success(`data from ${options.url}`); options.complete && options.complete(); }, 2000) } /* request({ url: string, success: function() {}, complete: function() {} }) */ function withConcurrency() { // code here }; request = withConcurrency(request, { max: 2 }); // 如上参数所示,同一时间只能发出 1 和 2 的请求。 // 1 和 2 同时发送,3 和 4 排队。 // 1 和 2 有响应后,3 、4 再去补位。 request({ url: ‘/api/1’ }) request({ url: ‘/api/2’ }) request({ url: ‘/api/3’ }) request({ url: ‘/api/4’ }) 要求: 假设现在已有现成的模拟 request 发送请求工具函数,该请求函数只支持success、complete 的 callback 回调。 如 demo 代码里 withConcurrency 参数所示,同一时间只能发出 /api/1 和 api/2 的请求,同时 /api/3 和 api/4 排队,当 1 和 2 里任意请求有响应时候(无论成功或者失败),排队的请求再去补位,但正在处理的请求数量不能超过参数 max 值。
区块链毕设网qklbishe.com为您提供问题的解答
function request(options) { setTimeout(() => { options.success && options.success(`data from ${options.url}`); options.complete && options.complete(); }, 2000) } /* request({ url: string, success: function() {}, complete: function() {} }) */ function withConcurrency() { // code here }; request = withConcurrency(request, { max: 2 }); // 如上参数所示,同一时间只能发出 1 和 2 的请求。 // 1 和 2 同时发送,3 和 4 排队。 // 1 和 2 有响应后,3 、4 再去补位。 request({ url: '/api/1' }) request({ url: '/api/2' }) request({ url: '/api/3' }) request({ url: '/api/4' })
要求:
- 假设现在已有现成的模拟 request 发送请求工具函数,该请求函数只支持success、complete 的 callback 回调。
- 如 demo 代码里 withConcurrency 参数所示,同一时间只能发出 /api/1 和 api/2 的请求,同时 /api/3 和 api/4 排队,当 1 和 2 里任意请求有响应时候(无论成功或者失败),排队的请求再去补位,但正在处理的请求数量不能超过参数 max 值。
以上就是关于问题实现一个控制请求并发函数 withConcurrency, 当前同一时间发出的请求数量不超过指定参数 max 的值。 function request(options) { setTimeout(() => { options.success && options.success(`data from ${options.url}`); options.complete && options.complete(); }, 2000) } /* request({ url: string, success: function() {}, complete: function() {} }) */ function withConcurrency() { // code here }; request = withConcurrency(request, { max: 2 }); // 如上参数所示,同一时间只能发出 1 和 2 的请求。 // 1 和 2 同时发送,3 和 4 排队。 // 1 和 2 有响应后,3 、4 再去补位。 request({ url: ‘/api/1’ }) request({ url: ‘/api/2’ }) request({ url: ‘/api/3’ }) request({ url: ‘/api/4’ }) 要求: 假设现在已有现成的模拟 request 发送请求工具函数,该请求函数只支持success、complete 的 callback 回调。 如 demo 代码里 withConcurrency 参数所示,同一时间只能发出 /api/1 和 api/2 的请求,同时 /api/3 和 api/4 排队,当 1 和 2 里任意请求有响应时候(无论成功或者失败),排队的请求再去补位,但正在处理的请求数量不能超过参数 max 值。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 实现一个控制请求并发函数 withConcurrency, 当前同一时间发出的请求数量不超过指定参数 max 的值。 function request(options) { setTimeout(() => { options.success && options.success(`data from ${options.url}`); options.complete && options.complete(); }, 2000) } /* request({ url: string, success: function() {}, complete: function() {} }) */ function withConcurrency() { // code here }; request = withConcurrency(request, { max: 2 }); // 如上参数所示,同一时间只能发出 1 和 2 的请求。 // 1 和 2 同时发送,3 和 4 排队。 // 1 和 2 有响应后,3 、4 再去补位。 request({ url: ‘/api/1’ }) request({ url: ‘/api/2’ }) request({ url: ‘/api/3’ }) request({ url: ‘/api/4’ }) 要求: 假设现在已有现成的模拟 request 发送请求工具函数,该请求函数只支持success、complete 的 callback 回调。 如 demo 代码里 withConcurrency 参数所示,同一时间只能发出 /api/1 和 api/2 的请求,同时 /api/3 和 api/4 排队,当 1 和 2 里任意请求有响应时候(无论成功或者失败),排队的请求再去补位,但正在处理的请求数量不能超过参数 max 值。
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 实现一个控制请求并发函数 withConcurrency, 当前同一时间发出的请求数量不超过指定参数 max 的值。 function request(options) { setTimeout(() => { options.success && options.success(`data from ${options.url}`); options.complete && options.complete(); }, 2000) } /* request({ url: string, success: function() {}, complete: function() {} }) */ function withConcurrency() { // code here }; request = withConcurrency(request, { max: 2 }); // 如上参数所示,同一时间只能发出 1 和 2 的请求。 // 1 和 2 同时发送,3 和 4 排队。 // 1 和 2 有响应后,3 、4 再去补位。 request({ url: ‘/api/1’ }) request({ url: ‘/api/2’ }) request({ url: ‘/api/3’ }) request({ url: ‘/api/4’ }) 要求: 假设现在已有现成的模拟 request 发送请求工具函数,该请求函数只支持success、complete 的 callback 回调。 如 demo 代码里 withConcurrency 参数所示,同一时间只能发出 /api/1 和 api/2 的请求,同时 /api/3 和 api/4 排队,当 1 和 2 里任意请求有响应时候(无论成功或者失败),排队的请求再去补位,但正在处理的请求数量不能超过参数 max 值。
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 实现一个控制请求并发函数 withConcurrency, 当前同一时间发出的请求数量不超过指定参数 max 的值。 function request(options) { setTimeout(() => { options.success && options.success(`data from ${options.url}`); options.complete && options.complete(); }, 2000) } /* request({ url: string, success: function() {}, complete: function() {} }) */ function withConcurrency() { // code here }; request = withConcurrency(request, { max: 2 }); // 如上参数所示,同一时间只能发出 1 和 2 的请求。 // 1 和 2 同时发送,3 和 4 排队。 // 1 和 2 有响应后,3 、4 再去补位。 request({ url: ‘/api/1’ }) request({ url: ‘/api/2’ }) request({ url: ‘/api/3’ }) request({ url: ‘/api/4’ }) 要求: 假设现在已有现成的模拟 request 发送请求工具函数,该请求函数只支持success、complete 的 callback 回调。 如 demo 代码里 withConcurrency 参数所示,同一时间只能发出 /api/1 和 api/2 的请求,同时 /api/3 和 api/4 排队,当 1 和 2 里任意请求有响应时候(无论成功或者失败),排队的请求再去补位,但正在处理的请求数量不能超过参数 max 值。
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 实现一个控制请求并发函数 withConcurrency, 当前同一时间发出的请求数量不超过指定参数 max 的值。 function request(options) { setTimeout(() => { options.success && options.success(`data from ${options.url}`); options.complete && options.complete(); }, 2000) } /* request({ url: string, success: function() {}, complete: function() {} }) */ function withConcurrency() { // code here }; request = withConcurrency(request, { max: 2 }); // 如上参数所示,同一时间只能发出 1 和 2 的请求。 // 1 和 2 同时发送,3 和 4 排队。 // 1 和 2 有响应后,3 、4 再去补位。 request({ url: ‘/api/1’ }) request({ url: ‘/api/2’ }) request({ url: ‘/api/3’ }) request({ url: ‘/api/4’ }) 要求: 假设现在已有现成的模拟 request 发送请求工具函数,该请求函数只支持success、complete 的 callback 回调。 如 demo 代码里 withConcurrency 参数所示,同一时间只能发出 /api/1 和 api/2 的请求,同时 /api/3 和 api/4 排队,当 1 和 2 里任意请求有响应时候(无论成功或者失败),排队的请求再去补位,但正在处理的请求数量不能超过参数 max 值。