另一个函数内部函数的响应

时间:2014-06-30 16:27:14

标签: javascript function response

对于这个主题感到抱歉,我不知道用一个简单的短语来解决这个问题......

我想我'过度编码了'一点点。 我的问题是我想在function publishOnWall ()函数myDropzone.processQueue();执行,但我当然不会工作,因为它之前没有定义过。重要的是,我必须得到function (response)的{​​{1}}部分,但我不知道如何做到这一点,我可以在提交按钮功能中获取此函数的响应

更新:所以进度是:我点击提交按钮,它会检查是否已经上传了图片,然后如果我已经登录过facebook,那么它调用该函数在facebook墙上发布。如果Facebook墙上的发布成功,则会上传图片。

您有什么想法让我这样做吗?

这是我的代码的摘录:

function puslishOnWall()

2 个答案:

答案 0 :(得分:2)

您将publishOnFbWall定义为不带参数的函数,但需要来自对象myDropzone的资源/上下文/行为。为什么不将myDropzone对象作为参数传递给处理程序:

        submitButton.addEventListener('click', function () {
            if ($('#ImageUploadPreview').children('div').hasClass('dz-preview dz-image-preview')) {
                if (logIn()) {
                    // Note change here
                    publishOnFbWall(myDropzone);
                } else {
                    logIn();
                    // Note change here
                    publishOnFbWall(myDropzone);
                    }
            } else {
                $('.dz-default span').replaceWith('<span class="no-image"><i class="fa fa-times"></i><br/>Upload an image</span>');
            }
        });

<强> [编辑]

然后在函数声明中添加myDropZone作为参数:

function publishOnFbWall(myDropzone) {

答案 1 :(得分:1)

你可以简单地让publishOnFbWall需要一个参数并传入myDropzone。例如:

function publishOnFbWall(dropzone) {
    // ...
    dropzone.processQueue();
    // ...
}

然后在您的事件监听器中传入myDropzone

if (logIn()) {
    publishOnFbWall(myDropzone);
} // ...

关于它是关闭的评论在这里也不是真的。您可以详细了解here