在步骤2和3之间,如果发生多个请求,则可能发生竞争条件,并且相同的任务将被提供两次.
在单个任务被"签出"时,是否"锁定""任务表"是正确的解决方案,以防止任何其他请求?
什么是性能影响最小的解决方案,例如延迟执行,以及如何使用chrome.storage API在javascript中实现?
一些代码例如:
function decide_response ( ) {
if(script.replay_type == "reissue") {
function next_task( tasks ) {
var no_tasks = (tasks.length == 0);
if( no_tasks ) {
target_complete_responses.close_requester();
}
else {
var next_task = tasks.pop();
function notify_execute () {
target_complete_responses.notify_requester_execute( next_task );
}
setTable("tasks", tasks, notify_execute);
}
}
getTable( "tasks", next_tasks );
...
}
...
}
Run Code Online (Sandbox Code Playgroud)