草庐IT

Promise方法

全部标签

javascript - 为什么直接将 Promise.all 传递给 .then 函数会抛出错误?

我想直接将Promise.all传递给.then函数,例如:consttest=[Promise.resolve(),Promise.resolve(),Promise.resolve(),Promise.resolve()];Promise.resolve(test)//It'ssupposedtobeanAJAXcall.then(Promise.all)//Getanarrayofpromises.then(console.log('End');但是这段代码抛出错误Uncaught(inpromise)TypeError:Promise.allcalledonnon-object

javascript - 扩展 Javascript promise 并在构造函数中解决或拒绝它

我想用ES6语法扩展原生JavascriptPromise类,并且能够在子类构造函数中调用一些异步函数。根据异步函数结果,promise必须被拒绝或解决。然而,当then发生了两件奇怪的事情。函数被调用:子类构造函数执行两次“UncaughtTypeError:Promiseresolveorrejectfunctionisnotcallable”抛出错误classMyPromiseextendsPromise{constructor(name){super((resolve,reject)=>{setTimeout(()=>{resolve(1)},1000)})this.name=

javascript - 是否有向后兼容的方法来更新库以使用 getter?

假设一个库具有如下功能:classStuff{total(){return4;//mightbesomecalculation}}但是您想更新它以使用setter/getter,例如:classStuff{gettotal(){return4;}}有没有办法以向后兼容的方式进行这样的更改?那么使用库的代码假设函数不会中断?stuff.total//shouldworkwithnewversionstuff.total()//hopefullythisstillworks编辑:这个问题更多是关于图书馆的进化(更一般)。另一个是关于特定的解决方案,并且是从调用站点的Angular来看的。

javascript - 如何在 react-visjs-timeline 中调用方法

使用react-visjs-timeline,如何调用Timeline组件的方法?方法如:timeline.fit();timeline.setItems({...});timeline.focus(id);我向组件添加了一个ref,但我不确定要在哪个项目上调用方法:docsforreact-visjs-timeline没有提到如何调用方法。? 最佳答案 您只想调用$el的方法。this.timelineWrapperRef.current.$el.fit();this.timelineWrapperRef.current.$el.

javascript - 简单的 promise 然后实现

最近,有人向我展示了一段在全栈开发人员面试中被问到的代码。它涉及创建一个promise,候选人应该在其中实现,传递给它一个解析函数,然后链接2个。我尝试非常天真地实现Promise只是为了让代码工作。创建了一个接受解析器函数的构造函数,创建了一个接受回调并返回Promise的Then函数,并简单地调用解析器函数的回调。classMyPromise{constructor(resolver){this.resolver=resolver;}then(callback){constresult=newMyPromise(callback);this.resolver(callback);r

javascript - 使用带有后文档就绪回调的 Jquery 异步获取多个脚本的正确方法

我计划在页面加载时从我的服务器异步获取多个JS文件。我知道Jquery函数“getScript”,但这只会获取1个脚本。当从服务器获取一批脚本时,有什么方法可以指定要执行的回调吗?我想过做这样的事情:$.getScript(script1,function(){$.getScript(script2,function(){$.getScript(script3,function(){......});});....});但这会按顺序加载脚本,我希望并行完成请求。作为取代这个问题的更一般的问题,加载N种资源(CSS、图像、脚本等)的最佳方式是什么?异步指定要在加载所有资源时执行的单个回调

javascript - 在没有服务器端、silverlight、DBC 等的情况下处理 SharePoint Intranet 跨域的最佳方法

我在Microsoft内部SharePoint网站上工作,我需要从跨域SharePoint网站中提取列表数据。出于各种原因,我不想使用Silverlight,而且目前无法实现业务数据连接。是否有一种简单的方法可以使用JavaScript或类似的东西来完成此任务? 最佳答案 “简单?”不完全是。鉴于您的要求,尤其是“没有服务器端”,这是不可能的。但是,如果您可以放弃该要求,则可以通过几个选项来启用跨域请求。CORS有decentsupport对于Cross-OriginResourceSharing对于XMLHttpRequest和微

javascript - 在一对多关系中删除实体的正确方法

我有一个父子关系(一对多)。我能够创建child,但删除失败。我创建了一个child,保存它,但是当我删除时,我得到:Aforeignkeyvaluecannotbeinsertedbecauseacorrespondingprimarykeyvaluedoesnotexist.[Foreignkeyconstraintname=FK_dbo.Children_dbo.Parents_ParentId]我确实注意到,当删除被发送到服务器时,子项的parentid为0,实体状态为“已修改”。我希望这会被“删除”。相关View模型部分:functionqueryFailed(error){

javascript - 覆盖主干中的获取方法

我想覆盖模型和集合中的获取方法,以便在没有网络连接时从本地存储获取数据。这是集合中的获取函数fetch:function(){if(online){returnBackbone.Collection.prototype.fetch.call(this);}else{//returnBackbone.Collection.fetchevent-withdatafromlocalstorage}}我在这里面临两个问题a.success和error函数都没有被执行this.collection.fetch({success:function(data){...},error:function

javascript - 使用 promise 配置多个功能

这是Setfirefoxprofilewithprotractor的后续行动话题。根据setFirefoxProfilehowto,可以使用特殊的"helper"jscode设置firefox配置文件使用firefox-profile和q动态制作编码的Firefox配置文件的库。这对我有用,直到我尝试使用多个浏览器并配置multiCapabilities:exports.config={seleniumAddress:'http://localhost:4444/wd/hub',multiCapabilities:[{browserName:'chrome',specs:['foote