草庐IT

promise-then

全部标签

javascript - fetch response.text() 返回未决的 promise

我使用jsonplaceholderURL测试fetchAPI,但我的函数返回“PromiseState:Pending”,我不明白为什么:functiongetUsers(url){returnfetch(url)}constusers=getUsers(`https://jsonplaceholder.typicode.com/users`);users.then(response=>{console.log(response.text());});我认为问题是因为异步/同步方法? 最佳答案 Ithinktheproblembe

javascript - socket.io - socket.on 等待 promise

我有一个按钮可以与服务器进行一些通信,以检查输入的值(通过输入框)是否已经存在。代码如下:$("#button").click(function(){varexists=false;varname=$("#name").val();socket.emit("check",name);socket.on("checkReturn",function(data){exists=data.result;});if(exists){console.log("exists")}else{if(name.length>0){socket.emit("create",name);}}});});问题

javascript - 基于 Promise 的属性 Ember

我有一个具有searchQuery和suggestions属性的Controller。这些建议来自AJAX请求。如何在我的Controller中使建议属性成为一个promise?app/controllers/application.jsimportEmberfrom'ember';const{computed,$}=Ember;exportdefaultEmber.Controller.extend({searchQuery:'',suggestions:computed('searchQuery',function(){return$.getJSON(`songs/search.j

javascript - 如何从 CasperJS 中的 "then"方法传递数据?

在使用CasperJS时,通常有多个then方法。下面是一个例子:casper.then(function(){vara="test";//...})casper.then(function(){//howtousethevariableainthefirst"then"})我的问题是,将值从前面的then传递到后面的then的常用方法是什么?对于上述例子,如何在第二个then中使用a? 最佳答案 有很多方法,但最简单的是使用全局变量。如果您不想让全局变量弄乱您的脚本(这不应该与浏览器中的全局变量一样重要,因为您可能有不同的库),您

javascript - promise 履行处理程序未定义

看起来非常基本,基于Promise的实现没有返回我期望看到的值/数据。这就是我期望此界面的工作方式:sdk.request(options)=>Promise~Response→Object(JSON)这是我模型中的代码:returnsdk.request(options).then(function(value){returnvalue;});当我记录模型的返回时,我看到了这个:{_bitField:0,_fulfillmentHandler0:undefined,_rejectionHandler0:undefined,_progressHandler0:undefined,_pr

javascript - 为什么这个 promise 链会立即解决?

有人可以向我解释为什么下面代码中产生的promise(d)会立即得到解决吗?//promisesthatareneverresolvednorrejectedvara=newPromise(function(r,re){});varb=newPromise(function(r,re){});varc=newPromise(function(r,re){});vard=[a,b,c].reduce(function(previousPromise,promise){returnpreviousPromise.then(promise);},Promise.resolve());我正在创

javascript - 从 Promise 构造函数返回值

考虑下面的两个例子......测试1functiontest1(){returnnewPromise(function(){return123;});}test1().then(function(data){console.log("DATA:",data);return456;}).then(function(value){console.log("VALUE:",value);});它什么都不输出。测试2functiontest2(){returnnewPromise(function(resolve,reject){resolve(123);});}test2().then(fu

javascript - 身份验证 - 调用 $http 的 .then() 成功回调而不是错误回调

这可能只是因为误解了如何在MEAN堆栈应用程序中最好地进行身份验证,或者我对promises和$http的.then()方法如何工作缺乏了解,但每当我尝试使用不正确的凭据向我的后端节点服务器进行身份验证,它正在调用$http的.then()方法的成功回调而不是错误回调。这是我的设置:我正在使用jsonwebtoken和express-jwt包,AngularJS拦截器将token添加到请求并检查状态401responseErrors,一个TokenService设置/删除等JWT和一个UserService来处理登录、注销等。从调试来看,这是正在发生的事情:发送登录请求服务器捕获请求,

javascript - 返回值而不是 promise [停止嵌套的延迟 promise ]

我有一堆嵌套的函数,因为顶级函数是一个ajax请求。所以我想在嵌套子函数中返回一个值而不是一个promise。父级letgetUserPermissions=function(id){letdeferred=$q.defer();letpromise=accessRequestService.getPermissions(id);promise.then(function(data){deferred.resolve(data);},function(err){deferred.reject(err);})returndeferred.promise;}child1$rootScope

javascript - 在从我的 promise /功能返回之前等待 forEach 完成

我正在使用FirebaseCloudFirestore,但是,我认为这可能更多是JavaScript异步与同步promise返回问题。我正在执行一个查询以从一个集合中获取ID,然后循环遍历该查询的结果以根据该ID从另一个集合中查找单个记录。然后我想将找到的每条记录存储到一个数组中,然后返回整个数组。results.length始终为0,因为returnresults在forEach完成之前触发。如果我从forEach内部打印results.length它有数据。我如何才能等到forEach完成后再从外部promise和外部函数本身返回?getFacultyFavoritesFireba