草庐IT

javascript - 在渲染之前等待 react-promise 解决

因此,我有大量数据是从API中检索的。我认为问题在于我的组件在从promise接收数据之前调用了renderMarkers函数。所以我想知道如何在调用我的renderMarkers函数之前等待完全解析数据的promise?classMapextendsComponent{componentDidMount(){console.log(this.props)newgoogle.maps.Map(this.refs.map,{zoom:12,center:{lat:this.props.route.lat,lng:this.props.route.lng}})}componentWillM

javascript - 期望数组中的项目

我的一个测试期望错误消息文本是多个值之一。自getText()返回promise我不能使用toContain()Jasmine匹配器。自protractor以来,以下内容将不起作用(jasminewd底层)不会解决匹配器第二部分中的promise,toContain()在这种情况下:expect(["UnknownError","ConnectionError"]).toContain(page.errorMessage.getText());问题:有没有办法用jasmine+protractor检查一个元素是否在一个数组中,其中一个元素是一个promise?换句话说,我正在寻找toC

javascript - 如何打破 promise 链

我以这样的方式promise,functiongetMode(){vardeferred=Promise.defer();checkIf('A').then(function(bool){if(bool){deferred.resolve('A');}else{returncheckIf('B');}}).then(function(bool){if(bool){deferred.resolve('B');}else{returncheckIf('C');}}).then(function(bool){if(bool){deferred.resolve('C');}else{defer

javascript - promise 链中 promise 之间的延迟

假设我正在使用以下代码连续运行几个promise:letparamerterArr=['a','b','c','d','e','f']parameterArr.reduce(function(promise,item){returnpromise.then(function(result){returnmySpecialFunction(item);})},Promise.resolve())代码只是简单地调用mySpecialFunction(它返回一个promise),等待promise得到解决,然后再次调用mySpecialFunction等等。因此该函数以正确的顺序为数组中的每

javascript - 在 Jest 中测试 Promises 的最佳方式

除非我误解了什么,解决和拒绝(https://facebook.github.io/jest/docs/expect.html#resolves)将在vNext之前可用。现在/同时使用Jest测试promise的推荐方法是什么?是否只是将期望放在thens和catches中?例如:describe('Fetching',()=>{constfilters={startDate:'2015-09-01'};constapi=newTestApiTransport();it('shouldrejectifnostartdateisgiven',()=>{MyService.fetch().

javascript - Sequelize : how to get results from each promise 中的 promise

在Sequelize中>=1.7wecanusepromises你能为我解释一下如何在这段代码中从每个用户那里获取值吗:varUser=sequelize.define("user",{username:Sequelize.STRING})User.sync({force:true}).then(function(){returnUser.create({username:'John'})}).then(function(john){returnUser.create({username:'Jane'})}).then(function(jane){returnUser.create(

javascript - 是否可以为每个 promise 使用带有 then() 的 axios.all?

我有一个React组件,它触发一个事件来获取数据。这导致动态数量的存储过程调用来获取数据,并且来自每个调用的数据存储在完全不同的位置。然后我需要在接收到所有数据并可用后重新渲染。我在axios中使用promises。由于axios调用的数量是动态的,我正在构建一个数组并将其插入到axios.all中如下:letpromises=[];for(leti=0;i问题是每个axios请求返回的数据都被添加到完全不同位置的对象中。因为我无法将它们全部放在一个正确的位置then(我怎么知道哪个响应在哪个位置?),我尝试做这样的事情:letpromises=[];for(leti=0;i{myOb

JavaScript Promise then() 排序

我还在学习JavaScriptPromise,我遇到了一个我不明白的行为。varo=$("#output");varw=function(s){o.append(s+"");}varp=Promise.resolve().then(function(){w(0);}).then(function(){w(1);});p.then(function(){w(2);returnnewPromise(function(r){w(3);r();}).then(function(){w(4);});}).then(function(){w(5);});p.then(function(){w(6)

javascript - 同步 promise 解析(bluebird vs. jQuery)

我为DynamicsCRMREST/ODATAwebservice开发了一个小库(CrmRestKit)。该库依赖于jQuery并使用promise-pattern,分别是jQuery的promise-like-pattern。现在我想将这个库移植到bluebird并删除jQuery依赖项。但是我遇到了一个问题,因为bluebird不支持promise-objects的同步解析。一些上下文信息:CrmRestKit的API除了一个可选参数外,该参数定义了网络服务调用应该以同步还是异步模式执行:CrmRestKit.Create('Account',{Name:"foobar"},fal

javascript - fetch 即使 404 也解析?

使用此代码:fetch('notExists')//此promise解决。mdnItreturnsapromisethatresolvestotheResponsetothatrequest,whetheritissuccessfulornot.失败的ajax请求即使转到不存在的资源也会得到解决,这不是很奇怪吗?我的意思是-下一步是什么?一个fetch到一个服务器,但它仍然得到一个解决的promise?我知道我可以在response对象的ok属性中进行调查,但仍然-问题为什么对于一个完全错误的请求(不存在的资源),提取得到解决。BTW,jqueryrequest,doesgetreje