Questions tagged «callback»

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

4
如何“等待”回调返回?
在使用简单的回调(例如以下示例)时: test() { api.on( 'someEvent', function( response ) { return response; }); } 如何更改功能以使用异步/等待?具体来说,假设“ someEvent”被保证只能被调用一次,我希望函数测试是一个异步函数,该异步函数在执行回调之前不会返回,例如: async test() { return await api.on( 'someEvent' ); }

10
可选回调的JavaScript样式
我有一些函数,有时(并非总是)会收到回调并运行它。检查回调是否已定义/函数是一种好的样式还是有更好的方法? 例: function save (callback){ .....do stuff...... if(typeof callback !== 'undefined'){ callback(); }; };


8
nodejs-第一个参数必须是字符串或Buffer-与http.request一起使用response.write时
我只是试图创建一个输出给定URL的HTTP状态的节点服务器。 当我尝试使用res.write刷新响应时,出现错误:throw new TypeError('第一个参数必须是字符串或Buffer'); 但是,如果我用console.log替换它们,一切都很好(但是我需要将它们写入浏览器而不是控制台)。 该代码是 var server = http.createServer(function (req, res) { res.writeHead(200, {"Content-Type": "text/plain"}); request({ uri: 'http://www.google.com', method: 'GET', maxRedirects:3 }, function(error, response, body) { if (!error) { res.write(response.statusCode); } else { //response.end(error); res.write(error); } }); res.end(); }); server.listen(9999); 我相信我应该在某个地方添加一个回调,但是很困惑,我们将提供任何帮助。
92 node.js  http  callback 

7
Bash:将函数作为参数传递
我需要在Bash中将函数作为参数传递。例如,以下代码: function x() { echo "Hello world" } function around() { echo "before" eval $1 echo "after" } around x 应该输出: before Hello world after 我知道eval在这种情况下是不正确的,但这只是一个例子:) 任何的想法?

6
使用类成员的C ++回调
我知道这个问题已经被问过很多次了,因此很难深入研究这个问题,并找到一个简单的可行例子。 我有这个,它很简单,适用于MyClass... #include <iostream> using std::cout; using std::endl; class MyClass { public: MyClass(); static void Callback(MyClass* instance, int x); private: int private_x; }; class EventHandler { public: void addHandler(MyClass* owner) { cout << "Handler added..." << endl; //Let's pretend an event just occured owner->Callback(owner,1); } }; EventHandler* handler; MyClass::MyClass() { …

6
为什么不建议使用“ $()。ready(handler)”?
从jQuery API文档站点获取ready 以下三种语法均等效: $(document).ready(处理程序) $()。ready(handler)(不建议这样做) $(处理程序) 做完作业-阅读并使用源代码后,我不知道为什么 $().ready(handler) 不推荐。第一种和第三种方法完全相同,第三个选项使用以下命令在缓存的jQuery对象上调用ready函数document: rootjQuery = jQuery(document); ... ... // HANDLE: $(function) // Shortcut for document ready } else if ( jQuery.isFunction( selector ) ) { return rootjQuery.ready( selector ); } 但是ready函数与所选节点元素的选择器没有交互作用。ready源代码: ready: function( fn ) { // Attach the listeners jQuery.bindReady(); // Add the …

6
jQuery插件:添加回调功能
我正在尝试提供我的插件回调功能,并且我希望它以某种传统的方式运行: myPlugin({options}, function() { /* code to execute */ }); 要么 myPlugin({options}, anotherFunction()); 如何在代码中处理该参数?它被视为一个完整的实体吗?我很确定我知道将执行代码放在哪里,但是如何获取执行代码?我似乎找不到关于该主题的大量文献。

6
如何将回调作为参数传递给另一个函数
我是ajax和回调函数的新手,如果我弄错了所有概念,请原谅我。 问题:我可以将回调函数作为参数发送给将执行该回调的另一个函数吗? function firstFunction(){ //some code //a callback function is written for $.post() to execute secondFunction("var1","var2",callbackfunction); } function secondFunction(var1, var2, callbackfunction) { params={} if (event != null) params = event + '&' + $(form).serialize(); // $.post() will execute the callback function $.post(form.action,params, callbackfunction); }

11
如何在导轨上销毁上“验证”
关于销毁宁静的资源,我想保证一些事情之后我才能继续销毁操作?基本上,如果我注意到这样做将使数据库处于无效状态,我希望能够停止销毁操作?销毁操作上没有验证回调,因此如何“验证”是否应接受销毁操作?

9
使用ActiveRecord,有一种方法可以在after_update期间获取记录的旧值
使用一个简单的示例进行设置:我有1个表(Totals),其中包含amount第二个表(Things)中每个记录的列的总和。 当thing.amount得到更新,我想简单地将旧值和新值之间的差异total.sum。 现在,我要self.amount在期间减去before_update并self.amount在期间添加after_update。这使WAY对更新的成功过于信任。 约束: 我不想简单地重新计算所有交易的总和。 问题:很简单,我想在after_update回调期间访问原始值。您想出了什么方法呢? 更新:我同意卢克·弗朗克的想法。在after_update回调期间,您仍然可以访问self.attr_was正是我想要的值。我还决定采用一个after_update实现,因为我想在模型中保留这种逻辑。这样,无论我将来决定如何更新事务,我都会知道我正在正确更新事务总和。感谢大家的实施建议。

12
如何传递类成员函数作为回调?
我使用的API要求我将函数指针作为回调传递。我正在尝试从我的课程中使用此API,但遇到编译错误。 这是我从构造函数执行的操作: m_cRedundencyManager->Init(this->RedundencyManagerCallBack); 无法编译-我收到以下错误: 错误8错误C3867:'CLoggersInfra :: RedundencyManagerCallBack':函数调用缺少参数列表;使用'&CLoggersInfra :: RedundencyManagerCallBack'创建指向成员的指针 我尝试过使用建议&CLoggersInfra::RedundencyManagerCallBack-对我不起作用。 任何建议/解释吗? 我正在使用VS2008。 谢谢!!

3
调用jquery ajax-.fail vs.:error
我应该使用哪一个? 有什么理由使用一种而不是另一种吗? 错误处理更好吗? $.ajax({ url: url, data: { start: start, end: end } }).done(function(data, textStatus, jqXHR) { $('#myElement').append(data); }).fail(function() { // report error }); 要么 $.ajax({ url: url, data: { start: start, end: end }, success: function(data, textStatus, jqXHR) { $('#myElement').append(data); }, error: function(jqXHR, textStatus, errorThrown) { // report error …
76 jquery  ajax  callback 

7
如何在Ruby中实现“回调”?
我不确定Ruby中C风格回调的最佳用法-还是有更好的东西(不太像C)。在C语言中,我将执行以下操作: void DoStuff( int parameter, CallbackPtr callback ) { // Do stuff ... // Notify we're done callback( status_code ) } Ruby的等效功能是什么?本质上,当“ DoStuff”中满足某个条件时,我想调用传入的类方法
76 ruby  callback 

10
Rails:更新模型属性而不调用回调
我有一个具有:credits属性的用户模型。我想要一个简单的按钮,通过名为“ add”的路由将5加到用户的信用中,以便/ users / 3 / add将5加到用户id = 3的信用中。 def add @user = User.find(params[:id]) @user.credits += 5 redirect_to root_path end 那是我控制器的相关部分。问题是,我不想调用@ user.save,因为我有一个before_save回调,它根据当前UTC时间重新加密用户密码。我只想简单地在属性中添加5并避免回调,我从未想到过如此简单的事情可能会如此困难。 编辑: 我将回调更改为:before_create,这是我的新控制器代码(相关部分): def add @user = User.find(params[:id]) @user.add_credits(5) @user.save flash[:success] = "Credits added!" redirect_to root_path end 这是我在模型中的代码: def add_credits(num) self.credits = num end 编辑2: 好的,这是一个验证问题,无法使“ EDIT”中的更改生效,但我仍然很乐意回答不使用回调进行更新的原始问题!

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.