草庐IT

redux-promise

全部标签

javascript - 将 Redux 状态传递给组件时的最佳实践

我正在与其他几个开发人员一起开发一个React+Redux项目,但我们无法就在何处传递状态和操作的最佳实践达成一致。我的方法是拥有一个“容器”或“提供者”组件,它是父组件,所有必需的状态和操作都映射到状态并向下传递到子组件,从而创建单一的真实来源。然而不利的一面是,您必须记住通过每个子组件向下传递操作和值,这可能很难遵循。另一种开发人员方法是在每个需要它的组件上,在堆栈中的任何位置使用mapStateToProps。因此,如果向下三层或四层的子组件需要特定状态,他将在该组件上使用mapStateToProps。他还会使用import关键字直接导入Action创建器,而不是将它们称为Pr

javascript - 第二个 .then() on promise 被调用时数据未定义

我在名为accountManager的服务中有一个函数返回如下所示的promise:这个promise上的.then()会触发并打印出预期的响应。signIn(email:String,password:String):Promise{returnthis.http.post('http://localhost:3000/api/signin',JSON.stringify({"email":email,"password":password}),{headers:this.headers}).toPromise().then(res=>{//**Thisisdefined**cons

javascript - React Redux - 在辅助函数中访问现有商店

我试图在React组件之外获取商店实例(商店状态),即在单独的辅助函数中。我有我的reducer,我的Action,我在最上面的组件中创建了一个商店。//configStore.jsimport{createStore}from'redux';importgeneralReducersfrom'../reducers/generalReducers';exportdefaultfunctionconfigStore(initialState){returncreateStore(generalReducers,initialState);}//index.jsimport{Provid

javascript - Promise.all()被拒绝后的值,显示['' PromiseStatus''] : resolved if catch block is present

我有两个promise,一个被拒绝,一个被解决。Promise.all被调用。当其中一个promise被拒绝时,它执行了Promise.all的catchblock。constpromise1=Promise.resolve('Promise1Resolved');constpromise2=Promise.reject('Promise2Rejected');constpromise3=Promise.all([promise1,promise2]).then(data=>{console.log('Promise.allResolved',data);}).catch(error=

javascript - 什么是成熟的 promise

当我偶然发现这条线时,我正在浏览mongoose文档Mongoosequeriesarenotpromises.Theyhavea.then()functionforcoandasync/awaitasaconvenience.Ifyouneedafully-fledgedpromise,usethe.exec()function.以这个例子varquery=Band.findOne({name:"GunsN'Roses"});assert.ok(!(queryinstanceofPromise));//Aqueryisnotafully-fledgedpromise,butitdoe

javascript - Dojo 中的“解析器返回未填充的 promise ”错误

在我的代码中使用dojo/parser时出现以下错误。解析器返回未填充的promise(可能等待模块自动加载),_WidgetsInTemplateMixin不支持。我已经define(["dojo/_base/declare","dijit/_WidgetBase","myApp/base/_TemplatedMixin","dijit/_WidgetsInTemplateMixin","dojo/text!../templates/MyTemplate.html","dojo/i18n!../nls/Localized","myApp/js/utils/hint","dijit/f

javascript - 你为什么要执行 $q.when() 而不给它传递一个 promise /值?

根据theAngulardocson$q,$q.when()期望传递一个promise/值。但我只是遇到了别人的代码,其中调用它时没有传递任何参数。这是我所看到的简化版本:varmodal=false;if(modalOpen){return$q.when()}modalOpen=true;modal=newModal({template:opts.template,});modal.result.finally(function(){modalOpen=false;});} 最佳答案 方法应该同步返回或异步返回以保持一致。如果一个

javascript - 使用 http.get node.js 的 promise

我正在做nodeschool练习,Thisproblemisthesameasthepreviousproblem(HTTPCOLLECT)inthatyouneedtousehttp.get().However,thistimeyouwillbeprovidedwiththreeURLsasthefirstthreecommand-linearguments.YoumustcollectthecompletecontentprovidedtoyoubyeachoftheURLsandprintittotheconsole(stdout).Youdon'tneedtoprintoutt

javascript - 我可以假设 promise 中的错误会冒泡到新的 Promise 并捕获它吗?

我有一个函数,如果找到任何内容,它将查找缓存,否则它将继续获取数据并设置缓存。这是非常标准的。我想知道错误是否发生在最内部的函数中,它会一直冒泡到最外层的Promise吗?所以,我可以只用一个catch而不是一个。这是我的代码。我正在使用Bluebirdvar_self=this;returnnewPromise(function(resolve,reject){_self.get(url,redisClient).then(functiongetCacheFunc(cacheResponse){if(cacheResponse){returnresolve(JSON.parse(ca

javascript - 如果指定了多个类型和有效负载选项,为什么 Redux Promise 会返回 Unresolved promise ?

我很难弄清楚为什么会这样,但基本上ReduxPromise在返回类似内容时对我来说工作正常:return{type:STORY_ACTIONS.STORY_SPOTIFY_REQUEST,payload:request}但是,我现在需要像这样传递另一个信息return{order:0,//Newfieldtype:STORY_ACTIONS.STORY_SPOTIFY_REQUEST,payload:request}这导致Unresolvedpromise而不是数据。我尝试将order重命名为position或index之类的东西......仍然没有。 最佳