简体   繁体   English

如何从回调JavaScript导出结果

[英]How to export result from callback javascript

How to export result from callback javascript to global variable 如何将结果从回调JavaScript导出到全局变量

function capsule (a, b, callback) {
    var res = a + b
    callback( res )
}


capsule(5, 2, n => {
    var result = n
    // console.log(result)
})

// i need do operation with result here, outside the callback
console.log(result) // result is undefined
console.log("ok")

The console back result is undefined 控制台返回结果不确定

result is only defined inside of your callback. result仅在回调内部定义。 If you define it outside, it will work. 如果在外部定义它,它将起作用。

function capsule (a, b, callback) {
    var res = a + b
    callback( res )
}

var result;
capsule(5, 2, n => {
    result = n
})

console.log(result)
console.log("ok")
 capsule(5, 2, n => { var result = n 

var declares a variable that is local to the function. var声明一个函数局部变量。

Declare it outside 外面声明

var result;

capsule(5, 2, n => {
    result = n

It would probably make more sense to return the value rather than to use a callback though: 不过, 返回值而不是使用回调可能更有意义:

function capsule (a, b) {
    var res = a + b;
    return res;
}

var result = capsule(5, 2);
console.log(result);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM