Javascript - 使用函数的响应

Javascript - Use response from function

我正在尝试开发一个全局函数以便从另一个文件更轻松地使用它。

在我工作的某一时刻,我有这个:

            .then(function(response) {
                if(response.data.code == 200)
                {
                    Swal.fire({
                        title: 'Modifications enregistrées !',
                        icon: 'success',

                        }).then(function() {
                            console.log(response);

                            // a parameter function which will used here
                            afterFinish();

                        });
                }

所以在第二个 then() 中,我可以访问 console.log 中的响应。

现在,我调用一个作为参数传递的函数。此函数还必须使用 "response" 属性。除非它不起作用。

示例:

我的afterFinish函数参数:

afterFinish: function(response){
  console.log(response);
}

所以在我的主要功能中它应该给出类似的东西:

then(function() {
     console.log(response);

     // a parameter function which will used here
     //afterFinish function;
     console.log(response);

});

第一个console.log () 将向我发送正确的响应对象。第二个将 return 一个空的 Response 对象给我。

另一方面,如果我将我的afterFinish()函数的内容直接放在代码中而不是调用它,那么我一定可以访问它。

有人知道该怎么做吗?

response 传递给 afterFinish:

afterFinish(response)

接受它作为 afterFinish 中的参数(我 认为 你已经是这部分了):

afterFinish: function(response) {
    // ...
}

使用 setTimeout 实现异步的实时示例:

function fakeAjax() {
    return new Promise(resolve => {
        setTimeout(() => {
            resolve(Math.random());
        }, 800);
    });
}

function myFunction(options) {
    const {afterFinish} = options;
    fakeAjax()
    .then(response => {
        afterFinish(response);
    })
    .catch(error => {
        // ...handle/report eror...
    });
}

console.log("Running...");
myFunction({
    afterFinish: function(response) {
        console.log(`Response is ${response}`);
    }
});