草庐IT

Promise方法

全部标签

javascript - 在 promise 中中止 ajax 请求

我正在构建表单验证并学习promise我决定使用promise模式实现异步验证功能:varvalidateAjax=function(value){returnnewPromise(function(resolve,reject){$.ajax('data.json',{data:{value:value}}).success(function(data,status,xhr){if(data.valid){resolve(xhr)}else{reject(data.message)}}).error(function(xhr,textStatus){reject(textStatus

javascript - 使用 async/await promise 的 Node 回调

我正在尝试编写一个简单的函数,将Node样式的回调函数转换为Promise,以便我可以将它们与async/await一起使用。当前代码:functiontoPromise(ctx,func,...args){letnewPromise;args.push((err,res)=>{newPromise=newPromise((resolve,reject)=>{if(err)reject(err);else{resolve(res)};});});func.apply(ctx,args);returnnewPromise;}示例用法:constmatch=awaittoPromise(u

javascript - 绑定(bind)到 Angular 2 服务中的数据对象的正确方法?

我正在构建一个Angular2应用程序。自发布以来,文档发生了很大变化,这引起了困惑。我能做的最好的事情就是解释我想做什么(这在Angular1中很容易)并希望有人能帮助我。我已经使用JWT创建了一个登录服务。登录成功后,我将返回一个用户对象。我有一个loginComponent(将数据绑定(bind)到模板)和loginService(处理https调用)我有一个维护用户对象的userService。我有一个呈现用户数据的userComponent。问题是,一旦用户登录,我不清楚让userService在名为“user”的对象中检索新数据的最佳方法,然后userComponent在模

javascript - 让 promise 在返回前等待几秒钟

我有一个返回promise的函数。在这个函数中,我们调用第三方vendor通过他们的服务器发送一些推送通知。看起来像apiGetLoggedInUser.then(user=>{returnsendMessage(user.name);})然而,我们决定等待3秒,然后才真正调用此sendMessage函数。但是,我们不希望更改sendMessage,因为它已提供。我想知道在这种情况下如何真正执行“等待”部分,因为promise用于删除“同步”操作。我理解正确吗?我该怎么办? 最佳答案 简短版本:functionwait(millis

javascript - Async/Await 无法按预期使用 Promise.all 和 .map 函数

我有很多正在使用的async函数,但我遇到了一个奇怪的问题。我的代码,工作,看起来像:asyncmainAsyncFunc(metadata){letfiles=metadata.map(data=>this.anotherAsyncFunc(data.url));returnPromise.all(files);}anotherAsyncFunc函数如下所示:asyncanotherAsyncFunc(url){returnawaitaxios({url,}).then(res=>res.data).catch(err=>{throwerr;});}当我尝试将更多数据附加到第一个函数

javascript - 如何在不使用 then 方法的情况下定义 promise 链

我已经寻找过类似的问题,但它们与JQuery或任何其他库有关。首先,我写了这个:constprintIn1Sec=(value)=>{returnnewPromise(resolve=>{setTimeout(()=>{console.log(value);resolve();},1000)});};并以这种方式使用它:printIn1Sec(1).then(()=>printIn1Sec(2)).then(()=>printIn1Sec(3));我认为then非常重要,因为它允许我们在promise被解决后立即执行一些事情。但我一直在寻找这样的东西:printIn1Sec(1).pr

c# - 如何从 C# 方法返回 JavaScript 'native' 数组?

我正在尝试使用ActiveXObject从JavaScript调用C#方法:varmyobj=newActiveXObject('myobject');vararr=myobj.GetArray();最终,arr将包含一个SAFEARRAY对象,但不是JScript数组。有什么方法可以从C#方法返回nativeJavaScript对象吗? 最佳答案 您可以返回一个JSON字符串,然后解析为JavaScript对象。有许多.NET库可用于将.NET对象序列化为JSON,反之亦然-JSON.NETMicrosoftASP.NETAJAX

javascript - 这两种功能/方法有什么区别?

我只使用jQuery来编写JavaScript代码。让我感到困惑的一件事是这两种编写函数的方法,第一种方法vote=function(action,feedbackId,responseDiv){alert('hi');returnfeedbackId;}第二种方法functionvote(action,feedbackId,responseDiv){alert('hi');returnfeedbackId;}这两者有什么区别,为什么应该使用第一种方法或第二种方法? 最佳答案 第一个是分配给vote变量的函数表达式,第二个是函数声明

javascript - jQuery - 等待淡入淡出完成的正确方法

我有一个问题,我想淡出图像,然后将图像移动到空容器。然而,图像并没有褪色,相反,褪色似乎被移动覆盖了,使用html()。.下面是我正在尝试做的事情。有没有办法强制移动等待淡入淡出完成?//Fadeoutimagetobereplacedmosaic_box.find('img').fadeTo(7000,0.0)//Thenmovetheimage$('.mosaic_listli:empty',obj).random(1).html(mosaic_box.find('img').addClass('mosaic_last_img')); 最佳答案

javascript - node.js,setTimeout回调方法和 "this"

我正在尝试使用NodeJS编写一个简单的轮询应用程序。我想编写一个EventEmitter,它对计时器执行操作并根据该周期性操作的结果发出事件。我首先创建自己的对象并从EventEmitter继承。我使用setInterval启动计时器,并指定在计时器结束后调用的方法。在计时器回调方法中,我想引用我创建的对象的变量,但this似乎没有引用该对象。如何在此方法中引用我的变量?这是我的代码:varutil=require('util'),events=require('events'),timers=require('timers'),redis=require('redis');//de