javascript – 这个模式有名字吗?

前端之家收集整理的这篇文章主要介绍了javascript – 这个模式有名字吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我基本上很确定这种模式必须存在并拥有一个名字……现在我称之为“门模式”……

这里是:

在我的网页的javascript中,我必须触发各种异步进程.我们不讨论如何完全异步js,但无论如何我必须触发2或3个AJAX调用,必须确定,UI构建已完成,依此类推.

只有这样,当所有这些过程完成后,我想要运行某个功能.而且恰好一次.

1: cropStore loaded()
2: resizeEvent()
3: productStore loaded()

模式:
在每个(成功)Ajax-load-callback结束时,GUI构建例程的结束等…我将相应的标志从false设置为true并调用gatedAction()

onEvent( 'load',{
   ....  // whatever has to happen in response to cropStored,resized,etc...
   // lastly:
   f1 = true; //resp f2,f3,...
   gatedAction();
}

Gate将检查标志,如果仍未设置任何标志则返回,仅调用目标函数,如果所有标志(或我称之为:gate)都打开.如果我的所有异步前置条件都只调用一次gatedAction(),我希望我可以肯定,实际的targetFunction只调用一次().

gatedAction ()
{
   // Gate
   if ( ! f1) return;
   if ( ! f2) return;
   if ( ! f3) return;

   // actual Action ( <=> f1==f2==f3==true )
   targetFunction();
}

在实践中它可靠地工作.旁注:我认为java-typical(不是js-typical)同步/ volatile问题可以被忽略,因为javascript并不是真正的多线程. Afaik一个函数永远不会停在它的中间,只是为了在同一个文件运行时授予另一个javascript函数

所以,有人,这有名字吗?

猜你在找的JavaScript相关文章