0

私は-である機能を持っています:

function generateAndEmitSessionizedEvents(workflowIdVsClientId, workflowIdVsEvents, clientVsIdVsDoc, esWriteFailedWorkflowIds) {
    return _generateSessionizedEvents(workflowIdVsClientId, workflowIdVsEvents, clientVsIdVsDoc, 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);
                });
            })
    } 

私は約束された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, stream, faultyEventsList, validEventsList);
    });
    notifySlack(faultyEventsList);
    return validEventsList;
}

notifyslack 関数でエラーを処理しましたが、まだ成功のコールバックを処理する必要があり、その方法を理解できません。

注意してください -: preValidateNullCheck 関数が正しくありません。天気がわかりません。ここでも引数または notifySlack 関数でコールバックを渡す必要がありました。

preValidateNullCheck関数ですべてが発生した後、notifySlackが発生する必要があるため、コールバックを処理する方法がわかりません。

私はこれが初めてで、助けを求めています!!

4

0 に答える 0