eMOBIQ Documentation
eMOBIQ Platfom
eMOBIQ Client
eMOBIQ Client
  • Getting Started
  • How Pricing Works in eMOBIQ AI
  • Platform Interface Reference
  • Page Rendering Behaviour
  • Ui Components
    • Basic
      • Frame
      • Image
      • Label
      • Panel
      • Streamcamera
      • Streamplayer
      • Video
    • Forms
      • Button
      • Checkbox
      • Combobox
      • Datepicker
      • Edit
      • Memo
      • Radiobutton
      • Timepicker
    • General
      • Barcode
      • Chart
      • Datalist
        • Datalist
        • Using Datalist
      • Map
      • Pdf
      • Qrcode
      • Signature
      • Snippet
    • Payment
      • Paypal
  • Events Reference
  • Actions And Visual Logic
    • Action Reference
      • Cordova
        • App
          • animate
          • bbCodeToCanvas
          • bbCodeToCanvasSync
          • canvasGenerate
          • canvasGenerateFrom
          • canvasHeight
          • canvasResize
          • canvasToDataURL
          • canvasToImage
          • clearAllVar
          • comment
          • componentAttr
          • componentElAttr
          • ComponentElement
          • componentMethod
          • componentValue
          • console
          • convertImageToBase64
          • disablePage
          • displaySnippet
          • enablePage
          • getAppVersion
          • getComponent
          • getLanguage
          • getLanguageList
          • getVar
          • getVarAttr
          • hideElement
          • inactivityTimeout
          • isElementShown
          • istampzRequest
          • languageConvertData
          • methodCall
          • nfcStartRead
          • nfcStopRead
          • nfcWrite
          • openlink
          • pullToRefresh
          • reload
          • remComponentElAttr
          • renderTemplate
          • resolveJSName
          • scroll
          • sendMail
          • setComboOptions
          • setCompoentFocus
          • setComponentAttr
          • setComponentElAttr
          • setComponentLink
          • setComponentValue
          • setLanguage
          • setVar
          • share
          • showElement
          • sortingDisable
          • sortingEnable
        • Array
          • avg
          • count
          • findArrayIndex
          • newArray
          • newObject
          • pop
          • push
          • pushObject
          • removeObject
          • shift
          • sort
          • sum
          • unshift
        • Browser
          • valueFromURL
        • Chart
          • chartPopulateAreaData
          • chartPopulateAreaSplineData
          • chartPopulateBarData
          • chartPopulateDonutData
          • chartPopulateGaugeData
          • chartPopulateLineData
          • chartPopulatePieData
          • chartPopulateScatterPlotData
          • chartPopulateSplineData
          • chartPopulateStepAreaData
          • chartPopulateStepData
        • Comparation
          • equal
          • equalOrGreater
          • equalOrLess
          • greater
          • less
          • notEqual
        • Conversion
          • encodeURI
          • fontHuge
          • fontLarge
          • fontNormal
          • fontSmall
          • generateBarcode
          • generateQRCode
          • join
          • jsonDecode
          • jsonEncode
          • round
          • split
          • toBoolean
          • toFloat
          • toInteger
          • toNull
          • toString
          • xmlDecode
        • Dataset
          • acumaticaCall
          • axCall
          • clearAllData
          • clearData
          • crm365Call
          • crmCall
          • dataFieldToArray
          • dataFromString
          • dataToString
          • deleteBy
          • deleteByMulti
          • deleteData
          • dynamicsGPCall
          • filterData
          • insert
          • insertData
          • loadData
          • loadNext
          • mssqlCall
          • mssqlQuery
          • navCall
          • query
          • rawCall
          • sageCall
          • sapB1Call
          • selectAll
          • selectBy
          • selectByMulti
          • soapCall
          • updateBy
          • updateByMulti
          • updateData
        • Device
          • HNSPublishMessage
          • HNSPushList
          • HNSPushMessageByUserId
          • HNSPushNotification
          • HNSRegisterUser
          • HNSSubscribeTopic
          • keyboardShow
          • addFaceAzure
          • addPersonAzure
          • barcodeScanDisable
          • barcodeScanEnable
          • barcodeScanEvent
          • unregisterBarcodeScanEvent
          • barcodeScanTrigger
          • barcodeScanner
          • captureAudio
          • captureImage
          • captureVideo
          • clearAccelerometer
          • clearExternalAppData
          • clearPosition
          • closeAudio
          • currentAccelerometer
          • dateTimeChooser
          • detectFaceAzure
          • deviceAddTouchSensor
          • deviceBeep
          • deviceHasTouchSensor
          • deviceId
          • deviceManufacturer
          • deviceName
          • deviceOS
          • deviceOSVersion
          • deviceRemoveTouchSensor
          • deviceSerial
          • deviceVerifyTouchSensor
          • deviceVibrate
          • exitApp
          • fileChooser
          • fileGetDetails
          • getExternalAppData
          • getLocation
          • identifyFaceAzure
          • imageChooser
          • keepScreenOn
          • keyboardHide
          • networkInformation
          • networkPrintingCheck
          • networkPrintingPrint
          • networkStatus
          • onBackButton
          • openAudio
          • openExternalApp
          • pauseAudio
          • playAudio
          • removeGroupAzure
          • removePersonAzure
          • screenBrightness
          • sendMailSMTP
          • setSizeDisk
          • socketConnect
          • socketDisconnect
          • socketLeave
          • socketListener
          • socketSend
          • startBeacon
          • startBeaconMonitoring
          • startStream
          • statusBarHide
          • statusBarShow
          • stopAudio
          • stopBeacon
          • stopBeaconMonitoring
          • stopStream
          • textToSpeech
          • verifyFaceFromPhotoAzure
          • watchAccelerometer
          • watchPosition
        • Dialog
          • confirmDialog
          • infoDialog
          • inputDialog
          • modalDialog
        • Facebook
          • facebookLogout
        • File
          • Copy
          • Delete
          • Download
          • Read
          • backupSqlite
          • open
          • restoreSqlite
          • saveBase64ToGallery
          • storagePath
          • write
        • Firebase
          • firebaseStorageDelete
          • firebaseStorageURL
          • firebaseStorageUpload
        • Flow
          • break
          • callback
          • clearInterval
          • conditional
          • continue
          • doWhileLoop
          • forLoop
          • map
          • setInterval
          • setTimeout
          • throw
          • tryCatch
          • whileLoop
        • Global
          • defaultImage
          • generateRandomAlphabet
          • generateRandomAlphanumeric
          • generateRandomNumber
          • getCurrentPage
          • getPreviousPage
          • gotoPage
          • makeId
          • openInternalBrowser
        • Google
          • googleLogin
          • googleLogout
          • mapAddMarker
          • mapClearMarker
          • mapDeleteMarker
          • mapFitBounds
          • mapGetZoom
          • mapRemoveClickListener
          • mapRoute
          • mapSetCenter
          • mapSetClickListener
          • mapSetZoom
          • placeAutoComplete
        • Intent
          • intentMaps
          • intentNavigation
          • intentPhoneCall
          • intentSMS
          • intentSendEmail
        • Logical
          • and
          • not
          • or
          • xor
        • Math
          • Absolute
          • add
          • atan2
          • ceil
          • cos
          • div
          • floor
          • max
          • min
          • mod
          • multi
          • pi
          • plus
          • pow
          • sin
          • sqr
          • sqrt
          • sub
          • tan
        • Object
          • addDate
          • convertTimezoneDate
          • dateDiff
          • dbDate
          • formatDate
          • formatNumber
          • objectAttr
          • objectKeys
          • objectValues
          • setObjectAtt
          • strToDate
          • toArray
          • toObject
        • Pdf
          • pdfGenerate
        • Payment
          • 2c2pPaymentRequest
          • eNetsPaymentRequest
          • generatePaynowQR
          • macAuthenticate
          • mcpEWalletQuickPay
          • mcpEWalletUnifiedOrder
          • mcpGetTransactions
          • mcpGetTranscationDetails
          • mcpTransactRefund
          • mcpTransactSales
          • mcpTransactVoid
          • paypalGenerateButton
        • Printer
          • btPrinterConnect
          • btPrinterDisconnect
          • btPrinterIsConnected
          • btPrinterPortList
          • btPrinterPrint
          • btPrinterRead
          • canvasToCPCL
          • canvasToESCP
          • canvasToESCPOS
          • canvasToEXPCL
          • canvasToZPL
          • formatToCPCL
          • formatToESCPOS
          • qrToESCPOS
          • setPrintStyle
        • Signature
          • signatureRedraw
        • Specialcharacter
          • sc_carriageReturn
          • sc_esc
          • sc_escape
          • sc_horizontalTab
          • sc_lineFeed
          • sc_space
        • String
          • capitalize
          • concat
          • decodeBase64String
          • decrypt
          • encodeBase64String
          • encrypt
          • findIndex
          • increment
          • left
          • length
          • lowerCase
          • mid
          • padString
          • replace
          • right
          • trim
          • upperCase
        • Validation
          • isArray
          • isEmail
          • isNull
          • isNumber
      • React Native
        • App
          • displaySnippet
          • openlink
          • reload
        • Component
          • setOptions
          • setProperty
          • setValue
          • getProperty
          • getValue
        • Connector
          • restCall
          • soapCall
        • Control
          • callback
          • clearInterval
          • conditional
          • delay
          • interval
          • loop
        • Conversion
          • toBoolean
          • toDate
          • toList
          • toNull
          • toNumber
          • toObject
          • toText
        • Dataset
          • insert
          • loadData
          • loadNext
          • read
          • remove
          • update
        • Datetime
          • difference
          • get
          • update
        • Device
          • barcodeCameraScanner
          • captureAudio
          • captureImage
          • captureVideo
          • chooseFile
          • generateBarcode
          • generateQRCode
          • getLocation
        • File
          • copy
          • getDetails
          • getStoragePath
          • read
          • remove
          • saveToGallery
          • write
        • Format
          • dateTime
          • number
          • text
        • Global
          • goToPage
        • List
          • average
          • combine
          • count
          • fill
          • find
          • includes
          • insertFirst
          • insertLast
          • max
          • min
          • removeFirst
          • removeLast
          • sort
          • sum
        • Log
          • write
        • Logic
          • and
          • equal
          • greaterThan
          • greaterThanOrEqual
          • lessThan
          • lessThanOrEqual
          • not
          • notEqual
          • or
        • Mail
          • send
        • Math
          • Absolute
          • add
          • atan2
          • cos
          • divide
          • modulo
          • multiply
          • pi
          • power
          • round
          • sin
          • square
          • squareRoot
          • subtract
          • tan
        • Map
          • getRoute
          • setCenter
          • setZoom
        • Object
          • insert
          • remove
          • getAttribute
          • setAttribute
        • Signature
          • clear
        • Text
          • case
          • combine
          • decrypt
          • encrypt
          • extract
          • findPosition
          • length
          • padding
          • replace
          • specialCharacter
          • trim
        • Validation
          • isEmail
          • isList
          • isNumber
        • Variable
          • get
          • getAttribute
          • set
          • setAttribute
    • Global Functions
    • Logic Block And Parameter Types
      • Logic Block And Parameter Types
      • Visual Interface
    • Logic Flow Sequence And Control
      • Asynchronous Actions And Callbacks
        • Asynchronous Actions
        • Best Practices
      • Callbacks
      • Conditional Logic
      • Loops
        • Comparing Loops
        • For Loop
        • Map
  • Data And Memory
    • Data Type
    • Memory
    • Data Processing Methods
  • Services
    • Services Reference
      • 2C2P Connector
        • 2C2P Connector
      • Accumatica Connector
        • Acumatica Connector
        • Acumatica Table
      • Aws Connector
        • Aws Connector
        • Aws Dynamodb Table
      • Ax Connector
      • Azure Cognitive Connector
      • Crm365 Connector
      • Dynamics Gp Connector
      • Enets Payment Connector
      • Hnspullnotification
      • Hnspushnotification
      • Istampz
      • Local Table
      • Mc Payment Connector
      • Mssql Connector
      • Nav Connector
        • Nav Connector
        • Nav Table
      • Nfc Reader
      • Paypal Connector
      • Raw Rest Connector
      • Sage Connector
      • Sap B1 Connector
      • Soap Connector
      • Sql Connector
        • Sql Connector
        • Sql Table
      • Sqlite
        • Sqlite Connector
        • Sqlite Table
    • Step By Step Guide
    • Services Additional Tips
    • Services Erp
      • Services Erp
  • Wizards
    • Function Wizard
    • Page Wizard
  • Plugins
    • Plugins
    • Service Manager
Powered by GitBook
On this page
  • Introduction
  • Purpose of Callbacks
  • Callback Representation
  • Adding Callback Logic
  • Example Use Case
  • Scenario
  • Implementation
  1. Actions And Visual Logic
  2. Logic Flow Sequence And Control

Callbacks

PreviousBest PracticesNextConditional Logic

Last updated 1 year ago

Introduction

Callbacks are a fundamental concept that enables the sequential execution of logic and the direct passing of data between logic blocks. They function conceptually similar to JavaScript callbacks and are represented visually as named arrows within our visual logic interface.

In eMOBIQ, a callback is initiated by a "source" logic block and received by a "callback" logic block. The source logic block is the one initiating the operation, whereas the callback logic block is the one executed after the source logic block completes its task.

Purpose of Callbacks

Callbacks primarily serve two purposes:

  1. Sequential Logic Execution: Callbacks ensure the sequential execution of logic, especially after the completion of asynchronous actions. This guarantees that a specific callback logic block will only execute after the associated asynchronous action has concluded.

  2. Data Relay: Callbacks enable the direct passing of data from one logic block to another. This data transfer is particularly useful for relaying information between the source and callback logic blocks.

Callback Representation

In the visual logic interface, callbacks are represented as named arrows, such as "yes" callback or "no" callback. These arrows visually connect the sourrce logic block with its corresponding callback logic.

Adding Callback Logic

When working with a logic block that supports callbacks, users can add another logic block as the callback logic block. During this process, eMOBIQ prompts the user to specify whether the new logic block should be added as a callback or on the same level as the asynchronous logic block. The user can choose "same level" if they want the new logic block to execute concurrently with the asynchronous logic. In the example above, rawCall is the source function and console is the callback function.

Example Use Case

To illustrate the use of callbacks in eMOBIQ, consider the following scenario:

Scenario

You are using the rawCall logic block to initiate a GET request from a web service. rawCall is an asynchronous non-blocking logic block, which means that logic blocks on the same level can execute concurrently.

Implementation

  1. Sequential Execution Guarantee: You want to ensure that a setVar logic block is executed only after rawCall has completed its asynchronous task. By connecting setVar as the 'yesCallback' of rawCall, you guarantee that setVar will not execute until rawCall is done.

  2. Data Relay: Additionally, if you want setVar (callback logic block) to directly receive data from rawCall (source logic block) for further processing. This data transfer is achieved through 'input' and 'extra' parameter types, allowing setVar to access data passed by rawCall.

By leveraging callbacks in this way, you can maintain control over the sequence of logic execution and efficiently pass data between relevant logic blocks, enhancing the functionality and reliability of your workflow.

callback
callback