草庐IT

Promise方法

全部标签

javascript:将方法和字符串分配给相同的属性名称

我知道我会得到那些说我根本不应该这样做的人,但我很好奇人们是如何做到的。我知道我已经看到您可以在何处键入属性名称并获取一个值,但随后您将括号添加到末尾并访问一个方法。在视觉上,我是这样说的:fooreturns'bar'foo()performsafunction问题是如何? 最佳答案 这是不可能的,因为对象的属性是如何解析的。这是唯一远距离接近的东西:functionf(){return'Iambeingreturnedfromthefunction.';}f.toString=function(){return'Iamaprop

javascript - 使用 fetch 时拒绝 promise

这个问题在这里已经有了答案:try..catchnotcatchingasync/awaiterrors(1个回答)关闭7年前。我对如何正确使用fetch有点困惑。即使我返回错误状态,它似乎也能解决。下面的代码是否正确(将获取包装在另一个promise中)?functiona(url,config){if(!config)config={};config=Object.assign(config,{headers:{'content-type':'application/json;charset=utf-8'}})returnnewPromise(function(resolve,re

javascript - 如何向 Javascript ES6 中的类添加方法

我需要使用新语法向Javascript类添加一个方法。我试过这种方式:classX{constructor(){this.a='b'}x(){}}X.prototype.y=function(){console.log('y')}varx=newX()x.y()console.log(X)//printthetheclassbutnotthenewmethod.它只是打印:classX{constructor(){this.a='b'}x(){}}但我预料到了classX{constructor(){this.a='b'}x(){}y(){console.log('y');}}如何向J

javascript - 理解javascript借用方法

关于如何将函数的参数转换为真正的数组有很多解释。但是我发现在bind的帮助下简化代码非常有趣。MDNArray.prototype.slice-Array-likeobjectsMDNFunction.prototype.bind-Creatingshortcuts例如:functionlist(){returnArray.prototype.slice.call(arguments);}varlist1=list(1,2,3);//[1,2,3]简化调用:varunboundSlice=Array.prototype.slice;varslice=Function.prototype

javascript - 将秘书 URL 参数广播到试剂组件的正确方法是什么

我正在re-framedefaulttemplate上构建一个应用程序.我有以下秘书路线:(defroute"/users/:id"[](re-frame/dispatch[:set-active-panel:user-panel])我想从我的试剂组件中的URL访问id参数。我发现实现它的唯一方法是将它设置为db。像这样的东西:(defroute"/users/:id"[id](re-frame/dispatch[:set-user-idid])(re-frame/dispatch[:set-active-panel:user-panel])这肯定会污染我的数据库,这种方法对我来说似乎

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 - 有什么方法可以让 native 应用程序安装提示(google play)在应用程序浏览器中的 Facebook 中工作?

我有一个正确的manifest.json文件来提示chrome要求用户安装native应用程序(添加到主屏幕)并且它在移动chrome中工作。(https://developers.google.com/web/fundamentals/app-install-banners/native)而且我知道这个功能是由chrome专门为chrome构建的,我只是想知道我们能否以某种方式让这个功能在Facebookinapp浏览器中运行-通过触发一些事件或者Facebook是否提供一些原生功能来做到这一点? 最佳答案 如果我理解了您的问题,

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

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

javascript - 动态沙箱内联 JavaScript 的最佳方法是什么?

我有一个WordPress插件,它使用AJAX加载页面并确保与其他插件和“小部件”的兼容性。截至目前,我使用以下代码评估要更新的内容block内的所有内联JS:functiondo_JS(e){varReg='(?:)((\n|.)*?)(?:)';varmatch=newRegExp(Reg,'img');varscripts=e.innerHTML.match(match);vardoc=document.write;document.write=function(p){e.innerHTML=e.innerHTML.replace(scripts[s],p)};if(script