草庐IT

promise-style

全部标签

javascript - 为什么我可以在 JS 中设置样式而不违反内容安全策略 style-src 'self' ?

设置style-src至'self'通过style禁用内联样式标签或style属性。这按预期工作。添加style通过JS的元素也被阻止。但我真的很惊讶我仍然可以设置HTMLElement的属性的style目的。例如,这不会触发CSP违规:document.getElementById('test').style.backgroundImage='url("image.png")';这如何防止攻击,如描述的那些here或here? 最佳答案 大概是因为如果您已经允许脚本注入(inject),样式修改是您最不担心的事情。样式元素和属性被

javascript - Q.defer() 和 Promise() 的区别

我试图理解为什么以下代码与Q.defer()和Promise()的行为不同Case1:WhenI'musingQ.defer()getDocument(id).then(function(response){console.log('infirstthen')return'fromtwo';}).then(function(response){console.log(response)});vargetDocument=function(){varb=Q.defer();b.resolve('fromgetDocument');//herewilldosomeasyncoperatio

javascript - 这个 Promise 链保证按这个顺序执行吗?

functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}letp=sleep(50);p.then(()=>console.log('a')).then(()=>console.log('c'));p.then(()=>console.log('b')).then(()=>console.log('d'));这是否保证按顺序打印“a、b、c、d”?据我所知,“a”必须在“c”之前触发,“b”必须在“d”之前触发,但除此之外,JS解释器能否决定以不同的顺序执行其余部分? 最佳答案

javascript - Promises,如何将变量传递给 .then 函数

你好,这是一个帮助我理解Promises.then返回如何工作的问题。问题是:如何将变量限定为第二个.then链接函数?这是一个jsbinhttp://jsbin.com/xacuna/edit?js,output我可以访问全局变量,然后将作用域变量传递给第一个,但不能传递给之后。letinnerReturnFunction=(res,myName)=>{/*thisworks*/console.log(`hifrominnername:${myName}`)returnres}letgetInnerFuncVariable=()=>{varmyName='arturo'returnf

javascript - 我是在正确地链接 Promise 还是犯了罪?

我已经很长时间没有使用Javascript了,所以现在promises对我来说是一个新概念。我有一些操作需要多个异步调用,但我想将其视为一个事务,其中如果前面的步骤失败,则步骤不会执行。目前,我通过嵌套链接promise,我想向调用者返回promise。阅读Mozilla的UsingPromises的链接部分后指导,我不确定我在做什么是正确的还是等同于“厄运的回调金字塔”。有没有更简洁的方法来做到这一点(除了在每个then中链接一个guard检查)?我是否相信在Mozilla的示例中它会执行每个链接的then,即使出现错误?myfunction(key)=>{returnnewProm

javascript - 用 Q 打破动态的 promise 序列

我有几个promise(P1,P2,...Pn)我想按顺序链接它们(所以Q.all不是一个选项)并且我想首先打破链条错误。每个promise都有自己的参数。我想拦截每个promise错误以转储错误。如果P1、P2、..PN是我的promise,我不知道如何使序列自动化。 最佳答案 如果您有一个promise链,它们都已经开始,您无法启动或停止它们中的任何一个(您可以取消,但仅此而已)。假设您有F1,...Fnpromise返回函数,您可以使用promise的基本构建block,我们的.then为此:varpromises=/*whe

JavaScript 原生 Promise 对两个结果执行回调

有没有办法对Promise对象的两个结果执行回调?例如,我想在执行xhr请求后进行一些清理逻辑。所以我需要做这样的事情:varcleanUp=function(){something.here();}myLib.makeXhr().then(cleanUp,cleanUp);例如在jqueryDefered中我可以使用方法always():myLib.makeXhr().always(function(){something.here();});Promise是否支持这样的东西? 最佳答案 不,没有。是discussed但规范很小。

javascript - Bluebird promise 链 : 'Catch' with Result

为了让这个问题对尽可能多的人有用,除了我在下面使用Node+Express的Bluebirdpromise库这一事实之外,我将排除我的具体实现细节。所以,假设我有以下链(其中P返回一个promise,res是ExpressHTTP响应对象):P().then(function(){//donothingifallwentwell(fornow)//weonlycareifthereisanerror}).catch(function(error){res.status(500).send("Anerroroccurred");}).then(function(){returnP();}

javascript - 迭代 Promise 迭代器的非递归方法

我开发了一个客户端库,它公开了一个名为iterator()的方法。此方法返回使用require('promise')库创建的Promise实例,该实例由迭代器对象完成。此对象包含一个名为next()的方法,该方法返回一个Promise,该Promise由一个复杂的对象完成,如下所示:{done:[true|false],key:_,value:_}虽然iterator()可能会预取一些元素,但next()需要返回一个Promise,以防它导致远程调用。现在,假设用户想要迭代所有元素,直到next()返回的Promise返回一个包含done:true的对象。我已经设法使用以下递归方法实现

javascript - 基于 Blob 的 'link stylesheet' 与标准 'style' 标签

我想知道使用样式作为Blob链接有什么好处和区别:在标准标签上:...我的意思是像这样创建Blob:varblob=newBlob([css_here],{type:'text/css'});varlink=document.createElement('link');link.rel='stylesheet';link.href=window.URL.createObjectURL(blob);head.appendChild(link);提前致谢。 最佳答案 内存管理如果你把东西放在style中,然后删除-它就不见了。但是,如果