草庐IT

promises

全部标签

javascript - 'catch' 在原生 Promise 链中是如何工作的?

在Chrome或Firefox的控制台选项卡上尝试这段代码varp=newPromise(function(resolve,reject){setTimeout(function(){reject(10);},1000)})p.then(function(res){console.log(1,'succ',res)}).catch(function(res){console.log(1,'err',res)}).then(function(res){console.log(2,'succ',res)}).catch(function(res){console.log(2,'err',r

javascript - ES7 异步函数和 promise 之间的技术区别?

我试图更好地理解JavaScript中的asyncfunction在技术上是什么,即使我基本上知道如何使用它们也是如此。许多对async/await的介绍让人相信async函数基本上只是一个promise,但显然不是这样(至少在Babel6-transpiledcode中不是):asyncfunctionasyncFunc(){//nop}varfooPromise=newPromise(r=>setTimeout(r,1));console.clear();console.log("typeofasyncFuncis",typeofasyncFunc);//functionconso

javascript - 从异步函数返回的 promise 中获取值(value)

我已经习惯了建议的async/await语法,并且有一些不直观的行为。在“async”函数中,我可以console.log正确的字符串。但是,当我尝试返回该字符串时,它返回了一个promise。检查此条目:async/awaitimplicitlyreturnspromise?,很明显任何“异步函数()”都会返回一个promise,而不是一个值。没关系。但是你如何获得值(value)呢?如果唯一的答案是“回调”,那很好-但我希望可能有更优雅的东西。//src//==========================================require("babel-polyfi

javascript - promise 和 promise 链是如何工作的? [代码问题]

我正在学习Node.js并尝试正确使用mysql2模块。因此,我最近开始研究promises。我正在编写一种“库”,因此我可以练习所有这些主题,而在这样做的同时,我遇到了一个我无法真正理解的promise链问题。非常感谢任何帮助!问题如下:假设我有一个query函数,它可以获取数据库、处理数据并返回一个promise,这样我就可以获取该数据并在其他文件中使用它。现在,如果我像这样编写我的查询函数:query(){letp=newPromise((resolve,reject)=>{resolve("Helloworld")});p.then(data=>{console.log("He

javascript - Angular 2.0 - 将 promise 链转换为 Observables

我正在将NG1.X服务转换为NG2.0。我的NG1.X服务有promise链(简化):dataService.search=function(searchExp){returnthis.getAccessToken().then(function(accesstoken){varurl=$interpolate('https://my-api-url?q={{search}}&{{accesstoken}}')({search:searchExp,accesstoken:accesstoken});return$http({url:url,method:'GET',cache:true

javascript - 如何使用 fetch 从 promise 回调返回?

这个问题在这里已经有了答案:HowdoIreturntheresponsefromanasynchronouscall?(41个回答)关闭5年前。我有点难过。我忘记了如何做到这一点。我有一个名为ext.get()的函数,它接受一个url参数。它从url获取响应。ext.get()函数旨在将响应作为json返回。我认为它不会那样做。ext.get=(url)=>{letmyHeaders=newHeaders();letoptions={method:'GET',headers:myHeaders,mode:'cors'};//fetchgetfetch(url,options).the

javascript - 使用 async/await 从回调中获取数据并仅在解决 promise 后返回值

我正在尝试使用async/await,但我认为我严重误解了一些东西。基本上,我正在尝试使用googlemapsapi计算位置列表与一个指定位置之间的距离。这是我正在尝试做的粗略示例:https://jsfiddle.net/qu5y69rj/1/您可以看到该函数的结果是undefined3次,而不是我所期望的,每次调用都是{distance:"ZERO_RESULTS"}以我人为的例子为例。getDistance=async(start,end)=>{constorigin=newgoogle.maps.LatLng(start[0],start[1]);constfinal=newg

javascript - 在 Ember 中使用 promise

我正在努力在EmberController中链接promise。为了说明,我在JSBINhere上做了一个问题示例这里还包含了Ember代码:App.IndexController=Ember.Controller.extend({result_of_request:'nothing',first_request:function(){//createapromisewhichisimmediatelyresolvedvarpromise=newEmber.RSVP.Promise(function(resolve,reject){resolve("firstresolved");})

javascript - 创建一个没有返回值的 AngularJS promise

我正在使用$q来围绕遗留回调包装promise。但是,现有回调没有要返回的值。它采用不带参数的成功函数。angular.module('MyModule').service('MyService',function(){functioninitialize(){vardeferred=$q.defer();LegacyFactory.initialize(//'void'SuccessCallbackfunction(){deferred.resolve(/*WHATDOIPUTHERE?*/);},//ErrorCallbackfunction(errorCode){deferred

javascript - 通过 Promise 链传递变量

这个问题在这里已经有了答案:HowtochainandsharepriorresultswithPromises[duplicate](1个回答)关闭5年前。有更好的方法吗?letfoo;returnfunctionA().then(result=>{foo=result;returnfunctionB();}).then(bar=>{returnfunctionC(foo,bar);});请注意,functionA的结果需要输入到functionC。在promise范围之外使用变量工作正常,但感觉有点恶心。有没有一种干净的惯用方法可以做到这一点?请注意,我没有机会更改我正在调用的任何