Questions tagged «callback»

回调是一段代码(即函数或方法或lambda表达式的地址或引用),作为参数传递给其他代码,希望在某些方便的时间回调(执行)该参数。此标记应与有关API的问题一起使用,该API使用回调在操作完成时通知调用方。将事件处理标签用于涉及订阅事件的问题,例如在GUI框架中。

11
如何在回调中访问正确的“ this”?
我有一个构造函数注册一个事件处理程序: function MyConstructor(data, transport) { this.data = data; transport.on('data', function () { alert(this.data); }); } // Mock transport object var transport = { on: function(event, callback) { setTimeout(callback, 1000); } }; // called as var obj = new MyConstructor('foo', transport); 运行代码段隐藏结果展开摘要 但是,我无法data在回调内部访问已创建对象的属性。看起来好像this不引用创建的对象,而是引用另一个对象。 我还尝试使用对象方法而不是匿名函数: function MyConstructor(data, transport) { this.data = data; …
1425 javascript  callback  this 

28
如何将参数传递给setTimeout()回调?
我有一些如下的JavaScript代码: function statechangedPostQuestion() { //alert("statechangedPostQuestion"); if (xmlhttp.readyState==4) { var topicId = xmlhttp.responseText; setTimeout("postinsql(topicId)",4000); } } function postinsql(topicId) { //alert(topicId); } 我收到topicId未定义的错误,在使用该setTimeout()功能之前,一切都在工作。 我希望postinsql(topicId)一段时间后调用我的函数。我该怎么办?


19
如何将现有的回调API转换为Promise?
我想使用Promise,但我有以下格式的回调API: 1. DOM加载或其他一次事件: window.onload; // set to callback ... window.onload = function() { }; 2.普通回调: function request(onChangeHandler) { ... } request(function() { // change happened ... }); 3.节点样式回调(“ nodeback”): function getStuff(dat, callback) { ... } getStuff("dataParam", function(err, data) { ... }) 4.带有节点样式回调的整个库: API; API.one(function(err, data) { API.two(function(err, data2) { API.three(function(err, …


10
不只承诺回调吗?
我已经开发JavaScript几年了,我完全不了解关于promise的麻烦。 看来我所做的就是改变: api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); 无论如何我都可以使用像async这样的库,它有类似以下内容: api().then(function(result){ api2().then(function(result2){ api3().then(function(result3){ // do work }); }); }); 这是更多的代码和更少的可读性。我在这里什么都没得到,也不是突然变得神奇地“平坦”。更不用说必须将事情变成诺言。 那么,这里的诺言有什么大惊小怪的呢?

5
array_map,array_walk和array_filter之间的区别
究竟是什么之间的区别array_map,array_walk和array_filter。从文档中可以看到,您可以传递一个回调函数来对提供的数组执行操作。但是我似乎没有发现它们之间有什么特别的区别。 他们执行相同的事情吗? 它们可以互换使用吗? 如果它们完全不同,请提供示例说明,我们将不胜感激。
373 php  arrays  callback 




10
如何使函数等到使用node.js调用回调后
我有一个简化的函数,看起来像这样: function(query) { myApi.exec('SomeCommand', function(response) { return response; }); } 基本上,我希望它调用myApi.exec,并返回在回调lambda中给出的响应。但是,上面的代码不起作用,只是立即返回。 只是出于非常骇人的尝试,我尝试了以下无效的方法,但至少您了解了我要实现的目标: function(query) { var r; myApi.exec('SomeCommand', function(response) { r = response; }); while (!r) {} return r; } 基本上,实现此目的的一种好“ node.js /事件驱动”方式是什么?我希望我的函数等待,直到调用了回调,然后返回传递给它的值。


14
jQuery将更多参数传递给回调
有没有办法将更多数据传递到jQuery中的回调函数中? 我有两个函数$.post,例如,我希望回调到,以传递AJAX调用的结果数据以及一些自定义参数 function clicked() { var myDiv = $("#my-div"); // ERROR: Says data not defined $.post("someurl.php",someData,doSomething(data, myDiv),"json"); // ERROR: Would pass in myDiv as curData (wrong) $.post("someurl.php",someData,doSomething(data, myDiv),"json"); } function doSomething(curData, curDiv) { } 我希望能够将自己的参数以及AJAX调用返回的结果传递给回调。

11
Rails:update_attribute与update_attributes
Object.update_attribute(:only_one_field, "Some Value") Object.update_attributes(:field1 => "value", :field2 => "value2", :field3 => "value3") 两者都将更新对象,而无需显式告知AR更新。 Rails API说: 用于update_attribute 更新单个属性并保存记录,而无需执行正常的验证过程。这对于现有记录上的布尔标志特别有用。混入验证模块时,Base中的常规update_attribute方法将替换为该方法,默认情况下为默认方法。 用于update_attributes 从传入的哈希中更新所有属性并保存记录。如果对象无效,则保存将失败并且将返回false。 因此,如果我不想验证对象,则应使用update_attribute。如果我在before_save上进行了更新,将会导致stackoverflow吗? 我的问题是,update_attribute是否也绕过了之前的保存或只是验证。 另外,将哈希传递给update_attributes的正确语法是什么...在顶部查看我的示例。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.