草庐IT

Streaming模式

全部标签

javascript - 对象文字或模块化 Javascript 设计模式

这可能已经被问过很多次了,我已经搜索过SO但到目前为止,我读到的所有答案都不是我正在寻找的。我在一个网站上工作,该网站具有适度的DOM元素显示/隐藏、一些AJAX调用,可能还有其他内容。所以我将有两个主要脚本文件(HTML5样板标准)plugins.js//thirdpartypluginsheresite.js//allmysitespecificcodehere之前我使用的是对象字面量设计模式,所以我的site.js是这样的:varsite={version:'0.1',init:function(){site.registerEvents();},registerEvents:f

javascript - 是否可以动态访问模块模式中的私有(private)变量?

有没有办法让模块模式中的公共(public)函数动态访问私有(private)变量?test1显示了我所说的“动态访问”但使用公共(public)变量的意思varx=(function(){varx=0,y=2,z=5;return{toast:123,test1:function(arg){returnthis[arg];},test2:function(){//??}};}());console.log(x.test1("toast"));//123console.log(x.test2("y"));//shouldreturn2我最终创建了一个私有(private)变量(一个对象

javascript - RxJS5 中 shareReplay(1) 的模式

我已经开始使用RxJS5,现在发现不再有shareReplay方法。很有可能我经常在RxJS4中误用shareReplay,但现在我正在努力获得我想要的行为,即:创建一个可观察对象订阅observable,observable产生一个值第二次订阅observable,我得到相同的第一个值Observable产生第二个值,两个订阅都得到第二个值我如何使用RxJS5实现它?总的来说,我认为我对RxJS的运算符理解得很好,但是整个冷、热、发布、连接对我来说都不太清楚。是否有一个很好的引用来说明如何找到我拥有的observable类型,以便我可以以合乎逻辑的方式找出为什么订阅没有获取值,或者为

javascript - redux fetch body 不使用 no cors 模式

我有一个调用函数的操作:dispatch(Api({url:"my_url",method:"POST",data:data}))这里我将数组作为数据传递..importfetchfrom'isomorphic-fetch'exportdefaultfunctionApi({url,method,headers,data}={}){returndispatch=>{console.log(data)console.log(url)console.log(method)console.log(JSON.stringify(data))letresponse=fetch(url,{mode

javascript - 'require(...)' 是常见的 javascript 模式还是库函数?

我通常发现这是node.js脚本/模块以及phantomJS、casperJS等的第一行。我很好奇,这是否是服务器端javascript(SSJS)的常见模式(类似于#include在C/C++中或import在Java中)或者它是一个像RequireJS或LabJS这样的库被调用用于这个包含(我都没有机会使用它们在实践中,到目前为止)?例如varhttp=require('http')或varcasper=require('casper').create()我很好奇这种模式是否已成为SSJS的标准化,或者是否每个库/工具都调用现有函数?请原谅问题的n00b维度,但我想知道它无所不在背

javascript - GetUserMedia - 面向模式

我目前正在使用Android平板电脑和GetUserMedia在我的程序中拍照。显然,GetUserMedia使用的默认摄像头是前置摄像头。如何将后置摄像头用作默认设置?这是我的GetUserMedia代码:navigator.getUserMedia({"audio":false,"video":{mandatory:{minWidth:this.params.dest_width,minHeight:this.params.dest_height,//facingMode:"environment",},}},function(stream){//gotaccess,attachs

javascript - 在 gist Ace 编辑器中启用 Vim 模式

我正尝试在githubgists上为我心爱的Vim启用Ace的键盘处理程序。这似乎是一件容易的事,但我正在努力:找到gistace编辑器依附的对象(ace默认editor未定义)通过github的托管Vim绑定(bind)将其设置为使用VIM:https://gist.github.com/assets/ace/keybinding/vim-b9f3b98dd13151f9b4c7279d8259b69e.js我在AceGoogleGroup上找到了以下片段:env.editor.setKeyboardHandler(require("ace/keyboard/keybinding/v

javascript - 在揭示模块模式中公开私有(private)变量

我正在尝试实现RevealingModulePattern,但我无法公开修改后的私有(private)属性。varmyRevealingModule=(function(){varname='Diogo';functionsetName(){name=name+'Cardoso';}return{fullName:name,set:setName};}());//Sampleusage:myRevealingModule.set();console.log(myRevealingModule.fullName);//"Diogo"insteadoftheexcepted"DiogoCa

javascript - 模块模式-如何将一个模块的代码拆分到不同的js文件中?

对于模块模式,我正在做类似的事情:(function(namespace){//tonsofcode//blabla})(window.myGlobalNamespace);如何拆分代码?我可以想到几种方法,比如使用命名空间的层次结构,或者通过window.myGlobalNamespace.additionalFunc=function(){//blabla}将对象扩展到外部。还有哪些方法?优缺点都有什么?哪一个被认为是更好的做法?这两个答案都建议使用RequireJS。你能解释一下RequireJS是如何解决这些问题的吗:首先.js:(function(context){varpa

javascript - 如何在没有循环依赖的情况下拆分 GraphQL 中的模式?

我的问题类似于JavascriptcirculardependencyinGraphQLcode但我的问题不在结构和数据库级别,而是在javascript(ES6)中。我的模式定义越来越大,但我看不出在哪里可以将文件切割成碎片。根据不同的对象类型进行切割似乎是合乎逻辑的,但这会导致循环依赖,类似于这个非常简化的非工作示例://--fileA.jsimport{bConnection,getBs}from'B';exportclassA{/*...*/};exportvargetA=(a)=>{/*...*/};exportvargetAs=(array_of_as)=>{/*...*/