草庐IT

异步处理

全部标签

javascript - 如何制作干净的异步循环?

按照典型的REST标准,我将我的资源分解为单独的端点和调用。这里主要讨论的两个对象是List和Item(当然,列表有一个项目列表,以及与之相关的其他一些数据)。因此,如果用户想要检索他的列表,他可能会向api/Lists发出Get请求然后用户可能想要获取其中一个列表中的项目,并获取api/ListItems/4,其中4是从List.listId检索到的在之前的通话中。一切都很好:$.ajax的options.complete属性让我指向一个回调方法,因此我可以简化这两个事件。但是,如果我想获取所有相关列表的元素,事情就会变得非常困惑。例如,假设我有一个名为makeGetRequest的

javascript - Paper.js 中的事件处理程序

我是Paper.js的新手,在阅读教程时,我对事件系统感到疑惑。这就是tutorial中描述的事件处理方式:varpath;functiononMouseDown(event){//Createapath:path=newPath();path.strokeColor='black';//Addthemousedownposition:path.add(event.point);}functiononMouseUp(event){//Addthemouseupposition:path.add(event.point);}所以,它只是在全局命名空间中起作用...最后我有几个问题,我没有

javascript - 使用 redux 时应该如何在 react 组件中处理取消订阅?

在我的组件中,我有以下内容:componentWillMount:function(){this.unsubscribe=store.subscribe(function(){this.setState({message:store.getState().authentication.message});}.bind(this));},componentWillUnmount:function(){this.unsubscribe();},不调用取消订阅会导致以下错误:Warning:setState(...):Canonlyupdateamountedormountingcompon

javascript - 在 redux 中使用 thunk 中间件比使用常规函数作为异步操作创建者有什么好处?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题?更新问题,使其仅关注一个问题editingthispost.6年前关闭。Improvethisquestion我已经使用redux大约两个月了,最近才开始探索处理异步行为(例如获取数据)的不同方法。它出现在documentation来自discussionsonGitHub使用thunkmiddleware执行此操作的标准方法这是一个非常简单的概念,但是我不确定我是否理解在可以使用简单的独立函数时将执行异步状态机的责任交给redux中间件的好处。使用thunk中间件的传统Redux方法异步操作创建者fetchPos

javascript - 通过使用不同的选择器选择一个元素来赋予一个元素多个事件处理程序

我有几个“事件”类,涵盖了我的一些svg元素。我正在为每个类分配一个用于mouseover和mouseout的事件处理程序,如果一个元素有多个类,我希望两个处理程序都触发。我该怎么做呢?似乎当我这样做的时候d3.selectAll(".a-class").on("mouseover",function(){//doA}).etc();d3.selectAll(".another-class").on("mouseover",function(){//doB}).etc();然后,当我将鼠标悬停在具有两个类的元素上时,只有B(第二个处理程序)触发,显然是因为它覆盖了第一个。有没有一种方法

javascript - HTTP Promise - 处理错误

我正在尝试找到一种很好的方法来处理我认为是错误的HTTP响应。我在ReactNative中使用fetch。这是我的代码。loginRequest(url){returnfetch(url,{method:'post',headers:{'Content-Type':'application/x-www-form-urlencoded;'},....}).then(response=>{returnthis.processResponse(response);});}然后……processResponse(response){if(response.status===200){retur

javascript - 在 React 中处理受控的表单组件更改

TLDR:在不违反React原则或忽略标准封装机会的情况下,React中的常见设计要求似乎是不可能的。我有一个表单可以显示来自服务器API的现有数据,并允许用户编辑字段并更新服务器上的数据。这在用户更改表单输入值时动态发生,而不是要求他们在每次编辑后“提交”表单。对于某些表单输入,值会立即更改(例如复选框、单选按钮、选择)。对于其他人来说,值(value)的变化是递增的——最明显的是文本输入。我不希望在每次击键时都请求服务器,因为这会导致为不完整的值生成服务器端验证错误。相反,一旦用户离开文本输入字段,服务器就会更新。如果值不变,发送服务器请求也是一种浪费。在React中,关键的设计原

javascript - Array.prototype.forEach() 在使用 get 处理程序的代理上调用时不起作用

我有以下代理:constp=newProxy({[Symbol.iterator]:Array.prototype.values,forEach:Array.prototype.forEach,},{get(target,property){if(property==='0')return'one';if(property==='1')return'two';if(property==='length')return2;returnReflect.get(target,property);},});它是一个类似数组的对象,因为它具有数字属性和指定元素数量的length属性。我可以使用f

javascript - 如何以编程方式处理英文缩写 [Regex, JS, Ruby]

我正在捕获自然语言用户输入,我需要根据预定义的“正确”版本检查它。这是微不足道的,但我不确定如何处理英语中收缩的变化。假设我期待句子I'mpositiveyoudon'tknowwhatyou'redoing.匹配需要精确,但我不想将用户锁定在一种变体,因为那样很快就会令人沮丧。那么,我是否应该手动输入该句子的所有可能变体作为有效匹配项?像这样:"I'mpositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudonotknowwhatyou'redoing.

javascript - Node.js:代码的哪些部分在异步调用后执行?

异步调用是javascript的固有部分,使用回调通常是处理这些调用的优雅工具。但是,我不太清楚异步操作后的代码分支是如何决定的。例如,以下代码会发生什么情况?functionf(callback){value=some_async_call();if(value){callback(value);}return(value);}这里会发生什么?根据我短暂的JS经验,return会发回一个undefined值。但是假设value从异步调用返回true,回调将被调用为正确的值还是undefined值?换句话说,是否有关于哪些操作在异步调用后立即执行,哪些操作延迟到返回值时执行的规则?在提