如何通过回调函数设置值

How to set value from call back function?

本文关键字:设置 函数 回调 何通过      更新时间:2023-09-26

我正在使用一些现有的javascript,我有以下代码:

launchDialog(myUrl,function(result, returnValue){
   //whatever
});

这段代码启动一个模式窗口,当该窗口关闭时,回调函数就会启动。

我想知道的是,我是否可以从模态执行一些javascript,从而允许我设置回调函数的returnValue参数?

FYI:

不确定这是否重要,但这是一些现有SharePoint javascript的简化版本。我不能更改lauchDialog函数的功能,但我可以将javascript添加到模态和回调函数中。

function tryMe (param1, param2) {
    alert(param1 + " and " + param2);
}
function callbackTester (callback) {
    callback (arguments[1], arguments[2]);
}
callbackTester (tryMe, "hello", "goodbye");

举个例子,我想这就是你想做的。

例如,使用以下源代码:JavaScript:将参数传递给回调函数

如果我正确理解您的问题,您可以将returnValue存储在与模态共享的外部变量中。

var myApp = {}; // your namespace
myApp.returnValue = 'something'; // you can override this wherever
launchDialog(myUrl, function(result, returnValue){
   returnValue = myApp.returnValue;
});