草庐IT

Promise方法

全部标签

javascript - 在全局范围调用 Object.prototype 方法

此代码会引发错误。try{alert(hasOwnProperty('window'));}catch(e){alert(e);//TypeError:can'tconvertundefinedtoobject}但是这段代码不会抛出错误。try{alert(this.hasOwnProperty('window'));//true(ifonbrowser)}catch(e){//throughcatchblockalert(e);}LiveExample|LiveSource据我所知,如果this是全局对象,则func(arg)等于this.func(arg)。为什么会发生这样的事情?

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 - 这是在 Angular 上破坏模板缓存的好方法吗?

我正在尝试在我的Angular应用程序上实现一些缓存破坏,它仍然允许缓存,但在我们将新代码推向生产时随时中断它。到目前为止,我的设置涉及使用grunt缓存破坏器https://www.npmjs.org/package/grunt-cache-breaker挖掘我串联的Angularapp.js文件并将查询参数附加到以.html文件扩展名结尾的任何字符串。我还对我拥有的任何使用ng-include的模板文件执行此操作。这造成的一个复杂情况是,现在我需要首先将我的模板文件复制到dist/目录,这样我就可以安全地.gitignore缓存被破坏的版本,而不必在每次缓存被破坏(并产生冲突)时提

javascript - 在使用 webstorm 开发期间调试 gulp 插件的最佳方法是什么

我正在尝试寻找在使用webstorm进行开发期间调试gulp插件的最佳方法。我有一个项目示例和几个gulp插件,我想在终端中运行gulp命令后立即跟踪和检查webstorm中的代码。理想情况下,我想在webstorm中添加debugger语句或断点来跟踪代码执行。 最佳答案 使用这个guide(无耻的self推销)来设置你的配置。然后调试应该按原样工作。此外,您不需要单独从命令行运行gulp,因为webstorm会为您完成。 关于javascript-在使用webstorm开发期间调试g

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

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

javascript - 在 Chrome 控制台中查看 Javascript 方法的内容

当我在Chrome中console.log一个对象时,我看到了所有属性和一个方法名称,但我看不到方法本身的内容。如何查看对象方法的内容?我创建了一个JSFiddle这可能有助于解释我在寻找什么。 最佳答案 在控制台中找到感兴趣的功能右键单击单词function点击“显示函数定义”函数现在显示在Sources选项卡中或者,记录的结果Function.prototype.toString.call(someObj.methodOne)/*function(e){return'eis'+e;}*/第三种选择是双击function一词,它会

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 - 使用 ES6 类将实例方法传递给 super

据我了解,在调用super()之前,this在构造函数中不可用。不过,在引用实例方法时,我们需要在方法前加上this前缀。那么如何将实例方法传递给super()呢?例如在Phaserframework,有一个Button类(class)。构造函数接受点击事件的回调:ConstructornewButton(game,x,y,key,callback,callbackContext,overFrame,outFrame,downFrame,upFrame)callback-ThefunctiontocallwhenthisButtonispressed.callbackContext-T