多页面同时读写localStorage,如何实现加锁?

下面这一段简单的代码,我希望只有一个线程去修改。

var key = 'key';if(localstorage.getItem(key) == null) {
    localstorage.setItem(key, 'page a');
}

类似java里的加锁。

举个更详细的例子。页面轮询ajax获取通知,打开多个页面的时候只需要让其中一个页面去执行,将结果写入到localStorage,其他页面从localStorage读取。关键在于要保证只要一个页面去轮询,所以在localStorage里的某个字段做标记。读取标记和修改标记时一个完整的操作,并且一个线程没操作完的时候,另一个线程不能去操作。


蝴蝶不菲
浏览 937回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript