gpt4 book ai didi

javascript - 将数据从事件处理程序传回给调用者

转载 作者:行者123 更新时间:2023-11-30 10:48:23 24 4
gpt4 key购买 nike

我怎样才能做到这一点?

$(window).bind('done', function (e) {
e.result = "my data";
});

var state = $(window).trigger('done');
equal("my data", state);

目前 .trigger 返回 JQuery 对象。

更新

事件是从另一个模块触发的,所以我不能使用闭包。

最佳答案

您必须认识到事件处理程序在 JavaScript 中是异步的。这意味着对异步函数的调用没有输出,没有返回值。从异步函数获取数据的唯一方法是传入一个回调函数,该回调函数将在输出可用时或您正在等待的事件发生时调用。

jQuery 对此有一个相当优雅的 deferred API。我不知道它是如何与事件处理程序一起工作的,因为我不太使用 jQuery,但我想这就是你应该做的,而不是这个.. abomination

关于javascript - 将数据从事件处理程序传回给调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6989947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com