草庐IT

promises

全部标签

javascript - 为什么我的 Promise 数组在调用 Promise.all() 之前运行?

我正在尝试创建一个Promise数组,然后使用Promise.all()解决它们。我正在使用got,它返回一个promise。我的代码可以工作,但我不完全理解如何工作。在这里:constgot=require('got');consturl='myUrl';constparams=['param1','param2','param3'];letpromiseArray=[];for(paramofparams){promiseArray.push(got(url+param));}//Inspectthepromisesfor(promiseofpromiseArray){consol

javascript - AngularJS:有没有更好的方法来同步两个 promise ?

$http.get('/services/menu').success(function(dataMenu){$http.get('/services/language').success(function(dataLanguage){console.log('dataLanguage',dataLanguage);$scope.menuRoot=dataMenu.result.items;$scope.menuItems=dataMenu.result.items;$scope.languageRoot=dataLanguage.result;$scope.currentMenuIt

javascript - promise 是闭包吗?

在closuretagwikipage,它显示为“jQuery本身就是一个大闭包。”但是promise也是一个闭包吗?你能解释一下为什么或为什么不吗?我是这样理解闭包的:将一个函数赋值给一个变量,然后在不同的环境中复用它。Promise使用$.ajax()来做到这一点,但我在stackoverflow中找不到将promise作为闭包引入的任何地方。可能是因为还有$.Deferred()、resolve()和fail()等promise的其他功能来扩展其功能简单的函数传递? 最佳答案 闭包ThisishowIunderstandclo

javascript - Promise.all 与 Firebase DataSnapshot.forEach

我有几个HTML选择(下拉列表),它们是从名为“states”的Firebase节点填充的(见下图)。选择一个城市后,下面的函数会触发并检索在该城市举行的所有session。有一个单独的“session”节点,每个session都有各种键/值对,例如街道、时间等。我(认为我)想使用Promise.all,因为我想在DataSnapshot.forEach中执行Firebase读取(每个meetingID上的.once)。以下不起作用。functionloadMeetings(city,state){//$('#meetingsTable').empty();varreads=[];re

javascript - 未捕获的类型错误 : undefined is not a promise

我得到了错误UncaughtTypeError:undefinedisnotapromiseconstp=Promise((resolve,reject)=>{resolve('ok')})p.then(resp=>console.log(resp))https://jsbin.com/daluquxira/edit?js,console,output上面的代码有什么问题? 最佳答案 您需要实例化Promise。在这种情况下:constp=newPromise((resolve,reject)=>{resolve('ok')})p.

javascript - 使用 Ember (cli) 如何获得验收测试以等待 promise ?

在我的Ember应用程序中,我目前有一个具有findResults函数的模型,该函数返回一个promise,该promise包装了一个GooglePlaces库以获取自动完成的结果。为了在我的UI中使用它,我设置了一个PromiseMixinController。我指示Controller观察searchText值,当它发生变化时,我将Controller的promise值更新为findResults函数返回的promise,但新值来自搜索文本。当我在浏览器中使用应用程序时,这很好用,但是当我运行我的验收测试时,测试似乎在promise返回之前完成,因此测试失败。我将在下面包含相关文件

JavaScript : Calling Recursive Functions With Promises

语言:JavaScript递归-不是我最喜欢的主题。Promises-它们可能会让人感到困惑。递归+Promises-我需要在软垫房间里编程。我做了这个小JSFiddle拼图,我称之为TheRecursiveFunHouse作为通过将问题简化为愚蠢的事情来保持我理智的喜剧方式。希望你们能从我的痛苦中得到欢笑:)问题:每个递归调用都依赖于前一个调用的结果,但为了获得结果,我必须运行一个异步任务并在其他子任务中使用该结果。“递归Playground”帮助我将问题归结为这一点-由于子任务仍在执行,原始递归循环继续使用未定义的值。TheFunHouse-循环收集介于(-99)和99之间的随机数

javascript - 从 Axios 返回 promise ?

我想知道如何从Axios返回promise?我不确定是否需要使用拦截器?我现在有这个代码exportfunctionfetchStorage(){returnfunction(dispatch){returnnewPromise(function(resolve,reject){if(1===1){resolve('itworks!');}else{reject(':(');}});};}和this.props.fetchStorage().then(function(){console.log('then');});现在说我想更改fetchStorage以通过ajax做一些事情,我希

javascript - ES6 Promise/Typescript 和 Bluebird Promise

我有一个nodejs/typescript2项目并使用es6-promise包裹。现在我想去掉额外的包,因为我可以直接在typescript中定位ES6。所以我删除了es6-promise包并将tsconfig.json更改为目标es6。{"compilerOptions":{"target":"es6",//...}}许多第3方包使用Bluebirdpromise,但promise定义与github上不同帖子中所述的默认es6promise不兼容bluebird3.0definifionisnotassignabletoES6PromisesProvideawaytoloadBlue

javascript - VueJS 异步组件数据和 promise

试用VueJS2.0RC,并使用fetchAPI为某些组件加载一些数据。这是一个模拟示例:constComponent={template:'#comp',name:"some-component",data:function(){return{basic:data.subset,records:function(){returnfetch('/datasource/api',{method:'get'}).then(function(response){returnresponse.json();}).then(function(response){if(response.statu