如何处理回调?

问题描述

我有一个函数-:

function generateAndEmitSessionizedEvents(workflowIdVsClientId,workflowIdVsEvents,clientVsIdVsDoc,esWriteFailedWorkflowIds) {
    return _generateSessionizedEvents(workflowIdVsClientId,esWriteFailedWorkflowIds)
        .then(function (messageInfo) {
            return new Promise((resolve,reject) => {
                preValidateUtil.preValidateNullCheck(messageInfo,"vo",function (messageInfo,err) {
                    if(err) {
                        logger.error("Failed to send slack notification",err);
                    }
                    return resolve(messageInfo);
                });
            })
    } 

我已经在内部的promise preValidateNullCheck函数中传递了-:

function notifySlack(faultyEventsList,callback) {
    var text = `The data for faulty event is : ${faultyEventsList}`;
    slackHelper.slack.sendNotification(text,function (err) {
        if (err) {
            logger.error("ERROR Failed to send the slack notification" + err);
            return callback(err);
        }
    })
}


function preValidateNullCheck(messagesInfo,stream,callback) {
    var faultyEventsList = [];
    var validEventsList = [];
    _.each(messagesInfo,function (messageInfo) {
        var event = messageInfo.message.event_type;
        findSchemaForEvent(event,messageInfo,faultyEventsList,validEventsList);
    });
    notifySlack(faultyEventsList);
    return validEventsList;
}

在notifyslack函数中,我已经处理了错误,但仍然必须处理成功回调,无法理解该怎么做。

请注意-:preValidateNullCheck函数不正确,我不知道天气我也应该在参数或notifySlack函数中传递回调。

我不明白如何处理回调,因为preValidateNullCheck函数中的所有事情都必须发生notifySlack。

我对此很陌生,正在寻求帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)