面试官: 有一个请求接口,返回数据量庞大,如果请求非常慢,而我的回调函数必须执行,怎么办??
我: 可以设置一个默认值么??
面试官: 不行,数据必须保证真实性
我: 那只能等待数据加载完成才能执行回调啊,可是很慢啊,只能等啊
面试官: 嗯,对,然后呢?
我: 可以使用Promise回调开辟一个微任务让js轮训结果
面试官: 你怎么老想着promise回调呢...
我,额。。。设置一个全局变量,请求数据后改变这个flag状态,使用定时器轮训这个变量直到发生变化再执行回调。或者设置Object.defineprototype的setting方法监听回调,这个更快点。
面试官: 这跟promise一样的啊,我的意思是必须执行回调
我:。。。。。。。你的意思是我必须等待数据返回才能执行回调,但是我又要执行回调。。。。(excuse me ??),这个不清楚....
面试官: 不行啊你
service worker 里面跑一个 WebSocket,设置一个数据结束标记,断了自动重连。面试官的意思多半是要解决连接超时、中断之类的问题。
题主可能是经验不太多,不过面试官也好不到哪儿去,而且如果题主转述无误,面试官的需求描述也有问题。