Knowledge

Callback (computer programming)

Source 📝

2690: 144: 47: 242:
The customer gives to a clerk a list of items, a check to cover their cost and delivery instructions. These are the parameters of the first call including the callback which is the delivery instructions. It is understood that the check will be cashed and that the instructions will be followed.
315:
A callback can be used to implement asynchronous processing. A caller requests an action and provides a callback to be called when the action completes which might be long after the request is made.
252:
Also, the delivery need not be made directly to the customer. A callback need not be to the calling function. In fact, a function would generally not pass itself as a callback. Some find the use of
299:. The application supplies a reference to a custom callback function for the windowing system to call. The windowing system calls this function to notify the application of events like 724:, so to make sure that its termination is handled properly, it would register the cleanup function as a callback. Callbacks may also be used to control whether a function acts or not: 2920: 688:
versions before function-valued arguments, the behavior of a callback can be achieved by passing an object that implements an interface. The methods of this object are callbacks.
2944: 288:
A callback can be used for event handling. Often, consuming code registers a callback for a particular type of event. When that event occurs, the callback is called.
2888: 249:
Notably, the delivery need not be made by the clerk who took the order. A callback need not be called by the function that accepted the callback as a parameter.
2880: 1735:
The get-word! values (i.e., :calc-product and :calc-sum) trigger the interpreter to return the code of the function rather than evaluate with the function.
2910: 64: 196:. The function that accepts a callback may be designed to store the callback so that it can be called back after returning which is known as 2965: 111: 2954: 83: 90: 2959: 97: 1610:
uses the function passed to it as a blocking callback. It calls the callback for each item of the collection. For example:
79: 1712:
In addition to using callbacks in JavaScript source code, C functions that take a function are supported via js-ctypes.
1695:
Deferred callbacks are commonly used for handling events from the user, the client and timers. Examples can be found in
673:, JavaScript, Perl, Python, Smalltalk, PHP (since 5.3.0), C++ (11+), Java (since 8), and many others, a lambda can be a 188: 2857: 130: 17: 699:
a callback procedure may need to be able to access local variables in containing blocks, so it is called through an
272:
context of the function that passes the callback. A deferred callback can run in a different context such as during
954:
which acts as a callback function. When run, the following is written to the console: "Callback was: Hello world".
179: 324: 160: 935: 614: 172: 68: 1172:
which acts as a callback function. Running this will tell the user that the answer to their question is "42".
450:
A callback can be used to implement conditional behavior. In the following pseudocode, if logging is enabled,
2446: 1153: 666: 596: 542: 257: 35: 2562: 584: 164: 104: 2828: 2695: 685: 681: 647: 2709: 1725: 674: 592: 280:. As such, a deferred callback can be used for synchronization and delegating work to another thread. 2915: 670: 571: 2719: 732: 728:
allows custom predicates to be specified to determine whether a program wishes to handle an event.
534: 292: 643:, which can be passed as callbacks to other functions, stored as data or returned from functions. 246:
When the staff are able, they deliver the items as instructed which is like calling the callback.
554: 57: 202: 2847: 256:
to be misleading since the call is (generally) not back to the original caller as it is for a
640: 610: 269: 213: 2986: 2808: 2729: 1607: 677:, i.e. can access variables locally defined in the context in which the lambda is defined. 659: 523: 221: 152: 2766: 553:. Using the same storage allows different languages to directly share callbacks without a 8: 2787: 2724: 570:
C++ also allows objects to provide an implementation of the function call operation. The
225: 1700: 277: 1738:
The datatype! references in a block! restrict the type of values passed as arguments.
2853: 2740: 560: 530: 304: 217: 557: 550: 296: 183: 2704: 923: 576: 1732:
As alert requires a string, form produces a string from the result of calculate
1705: 633: 626: 300: 236:
To aid understanding the concept, the following is an analogy from real life.
2980: 2948: 662:, unnamed functions with inline syntax, that generally acts as callbacks.. 658:(11+), C# and VB.NET (new versions) and most functional languages, support 239:
A customer visits a store to place an order. This is like the first call.
2734: 716:
Callbacks have a wide variety of uses, for example in error signaling: a
622: 564: 751:
which acts as a callback function. When run the output is: "Value: 42".
2714: 1365: 588: 2745: 651: 273: 2945:
Basic Instincts: Implementing Callback Notifications Using Delegates
2689: 46: 696: 549:
and other languages, a callback function is stored internally as a
143: 721: 720:
program might not want to terminate immediately when it receives
546: 27:
A function passed as data to and to be called by another function
567:
is accessible via multiple languages, compilers and assemblers.
1890: 1604: 618: 2971: 2887:(Documentation page). sec. JavaScript functions as callbacks. 458:, and writes the result. But, if logging is not enabled, then 2788:"Advanced Perl Programming - 4.2 Using Subroutine References" 1721: 655: 538: 147:
A callback is often back on the level of the original caller.
31: 2846:
Belzer, Jack; Holzman, Albert G; Kent, Allen, eds. (1979).
725: 717: 692: 600: 2849:
Encyclopedia of Computer Science and Technology: Volume 12
703:
containing both the entry point and context information.
604: 167:) and designed to be called by another function – often 2767:"Perl Cookbook - 11.4. Taking References to Functions" 522:
The callback technology is implemented differently by
2685: 636:, as used in .NET languages, provide for callbacks. 71:. Unsourced material may be challenged and removed. 2960:Implement Script Callback Framework in ASP.NET 1.x 2966:Interfacing C++ member functions with C libraries 2845: 2978: 1195:"Enter the most important question: " 2809:"PHP Language Reference - Anonymous functions" 1893:engine that takes an optional .done callback: 2881:"Creating JavaScript callbacks in components" 926:can be used in addition to function pointer. 2968:(archived from the original on July 6, 2011) 216:support callbacks in different ways such as 30:For a discussion of callback with computer 2908: 2652:calculate (generic function with 1 method) 625:encapsulating function reference known as 131:Learn how and when to remove this message 646:Many languages, including Perl, Python, 607:, allow a function object to be passed. 462:is not called; saving the runtime cost. 291:Callbacks are often used to program the 142: 2613:square (generic function with 1 method) 639:Functional languages generally support 14: 2979: 2972:Style Case Study #2: Generic Callbacks 2909:Holley, Bobby; Shepherd, Eric (eds.). 310: 2573:that is used as a blocking callback. 2457:that is used as a blocking callback. 445: 2429:"Color tweening finished!" 1840:; alerts 75, the product of 5 and 15 323:A callback can be used to implement 182:may be designed to call back before 80:"Callback" computer programming 69:adding citations to reliable sources 40: 2955:Implement callback routines in Java 2852:. Marcel Dekker, inc. p. 164. 2581:which acts as a callback function. 2465:which acts as a callback function. 1889:A color tweening example using the 178:A function that accepts a callback 24: 295:(GUI) of a program that runs in a 25: 2998: 2938: 1388:which act as callback functions. 1070:$ "Callback was: {str}" 517: 283: 2688: 1861:; alerts 20, the sum of 5 and 15 1728:code demonstrates callback use. 1715: 1243:getAnswerToMostImportantQuestion 1231:getAnswerToMostImportantQuestion 1170:getAnswerToMostImportantQuestion 897:GetAnswerToMostImportantQuestion 846:GetAnswerToMostImportantQuestion 749:GetAnswerToMostImportantQuestion 268:A blocking callback runs in the 186:to its caller which is known as 45: 2923:from the original on 2019-01-17 2911:"Declaring and Using Callbacks" 2891:from the original on 2021-12-16 706: 327:. In the following pseudocode, 318: 56:needs additional citations for 2902: 2873: 2839: 2821: 2801: 2780: 2759: 574:accepts these objects (called 13: 1: 2962:- Code Project, 2 August 2004 2752: 1359: 665:In some languages, including 36:Callback (telecommunications) 2737:, a callback library for C++ 7: 2696:Computer programming portal 2681: 682:object-oriented programming 10: 3003: 2710:Continuation-passing style 231: 163:that is stored as data (a 29: 2916:Mozilla Developer Network 2578: 2574: 2570: 2566: 2462: 2458: 2454: 2450: 2440: 1696: 1600: 1147: 572:Standard Template Library 459: 455: 451: 336: 332: 328: 2720:Event-driven programming 2583: 2556: 2467: 1895: 1741: 1612: 1390: 1376:as a blocking callback. 1174: 1164:as a blocking callback. 956: 946:as a blocking callback. 753: 743:as a blocking callback. 464: 341: 293:graphical user interface 1133:"Hello world" 437:"Hello world" 2919:(Documentation page). 1884: 1599:The collection method 917: 555:design-time or runtime 263: 148: 2829:"What's New in JDK 8" 929: 641:first-class functions 214:Programming languages 146: 2730:Inversion of control 2569:accepts a parameter 2453:accepts a parameter 711: 524:programming language 454:calls the callback, 153:computer programming 65:improve this article 2725:Implicit invocation 563:. For example, the 311:Asynchronous action 660:lambda expressions 446:Conditional action 222:lambda expressions 149: 2741:Signals and slots 2561:In the following 2445:In the following 1768:callback-function 1762:callback-function 1364:In the following 1152:In the following 934:In the following 731:In the following 684:language such as 585:dynamic languages 580:) as parameters. 218:function pointers 173:abstraction layer 141: 140: 133: 115: 18:Callback function 16:(Redirected from 2994: 2932: 2931: 2929: 2928: 2906: 2900: 2899: 2897: 2896: 2877: 2871: 2870: 2868: 2866: 2843: 2837: 2836: 2825: 2819: 2818: 2816: 2815: 2805: 2799: 2798: 2796: 2795: 2784: 2778: 2777: 2775: 2774: 2763: 2698: 2693: 2692: 2677: 2674: 2671: 2668: 2665: 2662: 2659: 2656: 2653: 2650: 2647: 2644: 2641: 2638: 2635: 2632: 2629: 2626: 2623: 2620: 2617: 2614: 2611: 2608: 2605: 2602: 2599: 2596: 2593: 2590: 2587: 2580: 2576: 2572: 2568: 2552: 2549: 2546: 2543: 2540: 2537: 2534: 2531: 2528: 2525: 2522: 2519: 2516: 2513: 2510: 2507: 2504: 2501: 2498: 2495: 2492: 2489: 2486: 2483: 2480: 2477: 2474: 2471: 2464: 2460: 2456: 2452: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2412: 2409: 2406: 2403: 2400: 2397: 2394: 2391: 2388: 2385: 2382: 2379: 2376: 2373: 2370: 2367: 2364: 2361: 2358: 2355: 2352: 2349: 2346: 2343: 2340: 2337: 2334: 2331: 2328: 2325: 2322: 2319: 2316: 2313: 2310: 2307: 2304: 2301: 2298: 2295: 2292: 2289: 2286: 2283: 2280: 2277: 2274: 2271: 2268: 2265: 2262: 2261:BackgroundColor3 2259: 2256: 2253: 2250: 2247: 2244: 2241: 2238: 2235: 2232: 2229: 2228:BackgroundColor3 2226: 2223: 2220: 2217: 2214: 2211: 2208: 2205: 2202: 2199: 2196: 2195:BackgroundColor3 2193: 2190: 2187: 2184: 2181: 2178: 2175: 2172: 2171:BackgroundColor3 2169: 2166: 2163: 2160: 2157: 2154: 2151: 2148: 2145: 2142: 2139: 2136: 2133: 2130: 2127: 2124: 2121: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2051:BackgroundColor3 2049: 2046: 2043: 2040: 2037: 2034: 2031: 2028: 2025: 2022: 2019: 2016: 2015:BackgroundColor3 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1986: 1983: 1980: 1979:BackgroundColor3 1977: 1974: 1971: 1968: 1965: 1962: 1959: 1956: 1953: 1950: 1947: 1944: 1941: 1938: 1935: 1932: 1929: 1926: 1923: 1920: 1917: 1914: 1911: 1908: 1905: 1902: 1899: 1880: 1877: 1874: 1871: 1868: 1865: 1862: 1859: 1856: 1853: 1850: 1847: 1844: 1841: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1790: 1787: 1784: 1781: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1708: 1698: 1697:addEventListener 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1602: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1387: 1383: 1379: 1375: 1371: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1331: 1328: 1325: 1322: 1319: 1316: 1313: 1312:"Question: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1171: 1167: 1163: 1159: 1143: 1140: 1137: 1134: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 978: 975: 972: 969: 966: 963: 960: 953: 949: 945: 941: 913: 910: 907: 904: 901: 898: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 811: 808: 805: 802: 799: 796: 793: 790: 787: 784: 781: 778: 775: 772: 769: 766: 765:<stdlib.h> 763: 760: 757: 750: 746: 742: 738: 558:interoperability 551:function pointer 513: 510: 507: 504: 501: 498: 495: 492: 489: 486: 485:isLoggingEnabled 483: 480: 477: 474: 471: 468: 461: 457: 453: 441: 438: 435: 432: 429: 426: 423: 420: 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 348: 345: 338: 334: 331:can take either 330: 297:windowing system 171:to the original 136: 129: 125: 122: 116: 114: 73: 49: 41: 21: 3002: 3001: 2997: 2996: 2995: 2993: 2992: 2991: 2977: 2976: 2951:, December 2002 2941: 2936: 2935: 2926: 2924: 2907: 2903: 2894: 2892: 2879: 2878: 2874: 2864: 2862: 2860: 2844: 2840: 2827: 2826: 2822: 2813: 2811: 2807: 2806: 2802: 2793: 2791: 2786: 2785: 2781: 2772: 2770: 2765: 2764: 2760: 2755: 2750: 2705:Command pattern 2694: 2687: 2684: 2679: 2678: 2675: 2672: 2669: 2666: 2663: 2660: 2657: 2654: 2651: 2648: 2645: 2642: 2639: 2636: 2633: 2630: 2627: 2624: 2621: 2618: 2615: 2612: 2609: 2606: 2603: 2600: 2597: 2594: 2591: 2588: 2585: 2577:is called with 2565:code, function 2559: 2554: 2553: 2550: 2547: 2544: 2541: 2538: 2535: 2532: 2529: 2526: 2523: 2520: 2517: 2514: 2511: 2508: 2505: 2502: 2499: 2496: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2469: 2461:is called with 2449:code, function 2443: 2438: 2437: 2434: 2431: 2428: 2425: 2422: 2419: 2416: 2413: 2410: 2407: 2404: 2401: 2398: 2395: 2392: 2389: 2386: 2383: 2380: 2377: 2374: 2371: 2368: 2365: 2362: 2359: 2356: 2353: 2350: 2347: 2344: 2341: 2338: 2335: 2332: 2329: 2326: 2323: 2320: 2317: 2314: 2311: 2308: 2305: 2302: 2299: 2296: 2293: 2290: 2287: 2284: 2281: 2278: 2275: 2272: 2269: 2266: 2263: 2260: 2257: 2254: 2251: 2248: 2245: 2242: 2239: 2236: 2233: 2230: 2227: 2224: 2221: 2218: 2215: 2212: 2209: 2206: 2203: 2200: 2197: 2194: 2191: 2188: 2185: 2182: 2179: 2176: 2173: 2170: 2167: 2164: 2161: 2158: 2155: 2152: 2149: 2146: 2143: 2140: 2137: 2134: 2131: 2128: 2125: 2122: 2119: 2116: 2113: 2110: 2107: 2104: 2101: 2098: 2095: 2092: 2089: 2086: 2083: 2080: 2077: 2074: 2071: 2068: 2065: 2062: 2059: 2056: 2053: 2050: 2047: 2044: 2041: 2038: 2035: 2032: 2029: 2026: 2023: 2020: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1990: 1987: 1984: 1981: 1978: 1975: 1972: 1969: 1966: 1963: 1960: 1957: 1954: 1951: 1948: 1945: 1942: 1939: 1936: 1933: 1930: 1927: 1924: 1921: 1918: 1915: 1912: 1909: 1906: 1903: 1900: 1897: 1887: 1882: 1881: 1878: 1875: 1872: 1869: 1866: 1863: 1860: 1857: 1854: 1851: 1848: 1845: 1842: 1839: 1836: 1833: 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1797: 1794: 1791: 1788: 1785: 1782: 1779: 1776: 1773: 1770: 1767: 1764: 1761: 1758: 1755: 1752: 1749: 1746: 1743: 1718: 1704: 1693: 1692: 1689: 1686: 1683: 1680: 1677: 1674: 1671: 1668: 1665: 1662: 1659: 1656: 1653: 1650: 1647: 1644: 1641: 1638: 1635: 1632: 1629: 1626: 1623: 1620: 1617: 1614: 1597: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1575: 1572: 1569: 1566: 1563: 1560: 1557: 1554: 1551: 1548: 1545: 1542: 1539: 1536: 1533: 1530: 1527: 1524: 1521: 1518: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1440: 1437: 1434: 1431: 1428: 1425: 1422: 1419: 1416: 1413: 1410: 1407: 1404: 1401: 1398: 1395: 1392: 1385: 1381: 1380:is called with 1377: 1373: 1372:uses parameter 1369: 1368:code, function 1362: 1357: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1332: 1329: 1326: 1323: 1320: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1281: 1278: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1169: 1168:is called with 1165: 1161: 1160:uses parameter 1157: 1156:code, function 1150: 1145: 1144: 1141: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 951: 950:is called with 947: 943: 942:uses parameter 939: 932: 920: 915: 914: 911: 908: 905: 902: 899: 896: 893: 890: 887: 884: 881: 878: 875: 872: 869: 866: 863: 860: 857: 854: 851: 848: 845: 842: 839: 836: 833: 830: 827: 824: 822:"Value: %d 821: 818: 815: 812: 809: 806: 803: 800: 797: 794: 791: 788: 785: 782: 779: 776: 773: 770: 767: 764: 761: 759:<stdio.h> 758: 755: 748: 747:is called with 744: 740: 739:uses parameter 736: 735:code, function 714: 709: 520: 515: 514: 511: 508: 505: 502: 499: 496: 493: 490: 487: 484: 481: 478: 475: 472: 469: 466: 448: 443: 442: 439: 436: 433: 430: 427: 424: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 364: 361: 358: 355: 352: 349: 346: 343: 321: 313: 286: 266: 234: 137: 126: 120: 117: 74: 72: 62: 50: 39: 28: 23: 22: 15: 12: 11: 5: 3000: 2990: 2989: 2975: 2974: 2969: 2963: 2957: 2952: 2940: 2939:External links 2937: 2934: 2933: 2901: 2872: 2858: 2838: 2820: 2800: 2779: 2757: 2756: 2754: 2751: 2749: 2748: 2743: 2738: 2732: 2727: 2722: 2717: 2712: 2707: 2701: 2700: 2699: 2683: 2680: 2584: 2558: 2555: 2468: 2442: 2439: 2108:coroutine.wrap 1896: 1886: 1883: 1742: 1740: 1739: 1736: 1733: 1720:The following 1717: 1714: 1706:XMLHttpRequest 1666:": " 1621:"li" 1613: 1391: 1384:and then with 1361: 1358: 1333:"Answer: 1175: 1149: 1146: 957: 938:code, method 931: 928: 919: 916: 754: 713: 710: 708: 705: 701:entry variable 634:event handlers 519: 518:Implementation 516: 465: 447: 444: 342: 320: 317: 312: 309: 285: 284:Event handling 282: 265: 262: 258:telephone call 233: 230: 139: 138: 121:September 2015 53: 51: 44: 26: 9: 6: 4: 3: 2: 2999: 2988: 2985: 2984: 2982: 2973: 2970: 2967: 2964: 2961: 2958: 2956: 2953: 2950: 2949:MSDN Magazine 2946: 2943: 2942: 2922: 2918: 2917: 2912: 2905: 2890: 2886: 2882: 2876: 2861: 2859:0-8247-2262-0 2855: 2851: 2850: 2842: 2834: 2830: 2824: 2810: 2804: 2790:. 2 July 1999 2789: 2783: 2769:. 2 July 1999 2768: 2762: 2758: 2747: 2744: 2742: 2739: 2736: 2733: 2731: 2728: 2726: 2723: 2721: 2718: 2716: 2713: 2711: 2708: 2706: 2703: 2702: 2697: 2691: 2686: 2582: 2564: 2533:# outputs: 25 2466: 2448: 1894: 1892: 1858::calc-product 1780:calc-product: 1737: 1734: 1731: 1730: 1729: 1727: 1723: 1716:Red and REBOL 1713: 1710: 1707: 1702: 1611: 1609: 1606: 1564:// outputs 12 1531:// outputs 20 1389: 1367: 1173: 1155: 955: 948:Helper.Method 940:Helper.Method 937: 927: 925: 752: 734: 729: 727: 723: 719: 704: 702: 698: 694: 689: 687: 683: 678: 676: 672: 668: 663: 661: 657: 653: 649: 644: 642: 637: 635: 630: 628: 624: 620: 616: 612: 611:CLI languages 608: 606: 602: 598: 594: 590: 586: 581: 579: 578: 573: 568: 566: 562: 559: 556: 552: 548: 544: 540: 536: 532: 527: 525: 463: 340: 326: 316: 308: 306: 302: 298: 294: 289: 281: 279: 275: 271: 261: 259: 255: 250: 247: 244: 240: 237: 229: 227: 223: 219: 215: 211: 209: 205: 204: 199: 195: 191: 190: 185: 181: 176: 174: 170: 166: 162: 158: 154: 145: 135: 132: 124: 113: 110: 106: 103: 99: 96: 92: 89: 85: 82: –  81: 77: 76:Find sources: 70: 66: 60: 59: 54:This article 52: 48: 43: 42: 37: 33: 19: 2925:. Retrieved 2914: 2904: 2893:. Retrieved 2885:UDN Web Docs 2884: 2875: 2863:. Retrieved 2848: 2841: 2832: 2823: 2812:. Retrieved 2803: 2792:. Retrieved 2782: 2771:. Retrieved 2761: 2560: 2444: 2033:finish_color 1997:finish_color 1961:finish_color 1940:finish_color 1888: 1719: 1711: 1694: 1598: 1363: 1267:askAndAnswer 1216:askAndAnswer 1166:askAndAnswer 1158:askAndAnswer 1151: 933: 921: 730: 715: 707:Example code 700: 690: 679: 664: 645: 638: 631: 609: 582: 575: 569: 528: 521: 449: 325:polymorphism 322: 319:Polymorphism 314: 290: 287: 267: 253: 251: 248: 245: 241: 238: 235: 212: 207: 203:non-blocking 201: 198:asynchronous 197: 193: 187: 177: 168: 156: 150: 127: 118: 108: 101: 94: 87: 75: 63:Please help 58:verification 55: 2987:Subroutines 2883:. Archive. 2865:January 28, 2372:some_object 2366:tween_color 2282:total_steps 2249:total_steps 2216:total_steps 2063:total_steps 1928:tween_color 891:PrintNumber 771:PrintNumber 745:PrintNumber 737:PrintNumber 632:Events and 565:Windows API 347:WriteStatus 333:WriteStatus 303:clicks and 189:synchronous 2927:2021-12-16 2895:2021-12-16 2833:oracle.com 2814:2011-06-08 2794:2008-03-03 2773:2008-03-03 2753:References 2715:Event loop 1747:calculate: 1366:JavaScript 1360:JavaScript 621:provide a 589:JavaScript 587:, such as 497:getMessage 476:getMessage 460:getMessage 456:getMessage 383:WriteError 337:WriteError 276:or from a 91:newspapers 2746:User exit 2735:libsigc++ 2658:calculate 2655:julia> 2619:calculate 2616:julia> 2586:julia> 2575:calculate 2567:calculate 2536:calculate 2500:calculate 2459:calculate 2451:calculate 2348:completed 2309:completed 2303:completed 2156:fade_time 2102:completed 2093:fade_time 1946:fade_time 1879::calc-sum 1870:calculate 1849:calculate 1810:calc-sum: 1573:calculate 1540:calculate 1396:calculate 1378:calculate 1370:calculate 1339:getAnswer 1285:getAnswer 1162:getAnswer 1064:WriteLine 965:MainClass 810:getNumber 786:getNumber 741:getNumber 652:Smalltalk 623:type-safe 503:WriteLine 307:presses. 274:interrupt 270:execution 184:returning 180:parameter 165:reference 2981:Category 2921:Archived 2913:. Docs. 2889:Archived 2682:See also 2420:function 2354:callback 2342:callback 2336:function 2114:function 1925:function 1633:function 1558:multiply 1489:function 1450:multiply 1447:function 1393:function 1382:multiply 1318:question 1273:question 1222:question 1210:readLine 1204:question 1127:callback 1118:callback 944:callback 922:In C++, 762:#include 756:#include 697:ALGOL 60 627:delegate 613:such as 577:functors 531:assembly 208:deferred 194:blocking 161:function 157:callback 2640:operate 2625:operate 2571:operate 2521:operate 2506:operate 2455:operate 1648:console 1608:library 1603:of the 1601:.each() 1426:operate 1414:operate 1374:operate 1327:println 1306:println 1279:String? 1058:Console 924:functor 722:SIGTERM 675:closure 547:Modula2 509:message 491:message 410:message 392:message 374:message 356:message 232:Analogy 105:scholar 2856:  2664:square 2589:square 2579:square 2542:square 2518:return 2485:return 2473:square 2463:square 2447:Python 2441:Python 2378:Color3 2324:return 2276:step_b 2255:object 2243:step_g 2222:object 2210:step_r 2189:object 2177:Color3 2165:object 2045:object 2027:step_b 2009:object 1991:step_g 1973:object 1955:step_r 1934:object 1891:Roblox 1605:jQuery 1513:return 1471:return 1423:return 1348:" 1321:" 1255:return 1154:Kotlin 1148:Kotlin 1112:string 1106:Action 1100:Method 1094:public 1088:Helper 1082:public 1046:string 1034:static 1019:Method 1013:helper 1007:Helper 998:helper 995:Helper 983:string 971:static 959:public 903:return 861:return 828:" 816:printf 680:In an 667:Scheme 619:VB.NET 597:Python 543:Pascal 404:stderr 389:string 368:stdout 353:string 278:thread 226:blocks 107:  100:  93:  86:  78:  34:, see 32:modems 2563:Julia 2557:Julia 2426:print 2099:local 2060:local 2024:local 1988:local 1952:local 1910:local 1864:alert 1843:alert 1722:REBOL 1660:index 1639:index 1567:alert 1534:alert 1294:-> 1189:print 1085:class 962:class 583:Many 561:layer 431:write 425:write 419:SayHi 398:Write 362:Write 329:SayHi 301:mouse 159:is a 112:JSTOR 98:books 2867:2024 2854:ISBN 2414:done 2330:done 2306:then 2291:wait 1919:wait 1898:wait 1867:form 1846:form 1834:num2 1828:num1 1822:num2 1819:num1 1813:func 1804:num2 1798:num1 1792:num2 1789:num1 1783:func 1774:num2 1771:num1 1759:num2 1756:num1 1750:func 1703:and 1701:Ajax 1687:()); 1684:text 1678:this 1627:each 1180:main 1115:> 1109:< 1097:void 1037:void 986:args 977:Main 974:void 882:void 876:main 852:void 792:void 768:void 726:Xlib 718:Unix 695:and 693:PL/I 686:Java 648:Ruby 617:and 603:and 601:Perl 254:back 224:and 169:back 155:, a 84:news 2646:val 2631:val 2604:val 2595:val 2527:val 2512:val 2497:def 2488:val 2479:val 2470:def 2432:end 2384:new 2363:end 2357:end 2321:)() 2318:end 2315:end 2297:end 2183:new 2120:for 1885:Lua 1744:Red 1726:Red 1690:}); 1654:log 1594:)); 1591:sum 1561:)); 1492:sum 1386:sum 1336:$ { 1297:Int 1264:fun 1249:Int 1246:(): 1240:fun 1201:val 1177:fun 1049:str 1040:Log 1025:Log 1010:(); 1004:new 952:Log 918:C++ 873:int 843:int 834:val 813:(); 804:val 801:int 777:int 691:In 656:C++ 605:PHP 593:Lua 539:C++ 529:In 500:(); 470:Log 467:def 452:Log 416:def 380:def 344:def 335:or 305:key 264:Use 206:or 192:or 151:In 67:by 2983:: 2947:- 2831:. 2676:25 2515:): 2491:** 2482:): 2423:() 2411:). 2405:), 2312:() 2300:if 2294:() 2252:), 2219:), 2162:do 2141:DT 2117:() 2096:)) 2078:DT 1922:() 1913:DT 1876:15 1855:15 1825:][ 1795:][ 1765:][ 1709:. 1699:, 1681:). 1672:$ 1624:). 1615:$ 1579:10 1546:10 1441:); 1342:() 1315:$ 1291:() 1258:42 1228::: 1213:() 1183:() 1136:); 1073:); 1028:); 936:C# 930:C# 900:); 864:42 837:); 825:\n 795:)) 789:)( 671:ML 669:, 654:, 650:, 629:. 615:C# 599:, 595:, 591:, 545:, 541:, 537:, 533:, 526:. 512:); 482:if 479:): 428:): 395:): 359:): 339:. 260:. 228:. 220:, 210:. 200:, 175:. 2930:. 2898:. 2869:. 2835:. 2817:. 2797:. 2776:. 2673:) 2670:5 2667:, 2661:( 2649:) 2643:( 2637:= 2634:) 2628:, 2622:( 2610:2 2607:^ 2601:= 2598:) 2592:( 2551:) 2548:5 2545:, 2539:( 2530:) 2524:( 2509:, 2503:( 2494:2 2476:( 2435:) 2417:( 2408:1 2402:0 2399:, 2396:0 2393:, 2390:1 2387:( 2381:. 2375:, 2369:( 2360:} 2351:= 2345:) 2339:( 2333:= 2327:{ 2288:) 2285:) 2279:/ 2273:( 2270:+ 2267:b 2264:. 2258:. 2246:/ 2240:( 2237:+ 2234:g 2231:. 2225:. 2213:/ 2207:( 2204:+ 2201:r 2198:. 2192:. 2186:( 2180:. 2174:= 2168:. 2159:) 2153:/ 2150:1 2147:( 2144:* 2138:, 2135:1 2132:, 2129:0 2126:= 2123:i 2111:( 2105:; 2090:/ 2087:1 2084:( 2081:* 2075:( 2072:/ 2069:1 2066:= 2057:b 2054:. 2048:. 2042:- 2039:b 2036:. 2030:= 2021:g 2018:. 2012:. 2006:- 2003:g 2000:. 1994:= 1985:r 1982:. 1976:. 1970:- 1967:r 1964:. 1958:= 1949:) 1943:, 1937:, 1931:( 1916:= 1907:) 1904:1 1901:( 1873:5 1852:5 1837:] 1831:+ 1816:[ 1807:] 1801:* 1786:[ 1777:] 1753:[ 1724:/ 1675:( 1669:+ 1663:+ 1657:( 1651:. 1645:{ 1642:) 1636:( 1630:( 1618:( 1588:, 1585:2 1582:, 1576:( 1570:( 1555:, 1552:2 1549:, 1543:( 1537:( 1528:} 1525:; 1522:b 1519:+ 1516:a 1510:{ 1507:) 1504:b 1501:, 1498:a 1495:( 1486:} 1483:; 1480:b 1477:* 1474:a 1468:{ 1465:) 1462:b 1459:, 1456:a 1453:( 1444:} 1438:b 1435:, 1432:a 1429:( 1420:{ 1417:) 1411:, 1408:b 1405:, 1402:a 1399:( 1354:} 1351:) 1345:} 1330:( 1324:) 1309:( 1303:{ 1300:) 1288:: 1282:, 1276:: 1270:( 1261:} 1252:{ 1237:} 1234:) 1225:, 1219:( 1207:= 1198:) 1192:( 1186:{ 1142:} 1139:} 1130:( 1124:{ 1121:) 1103:( 1091:{ 1079:} 1076:} 1067:( 1061:. 1055:{ 1052:) 1043:( 1031:} 1022:( 1016:. 1001:= 992:{ 989:) 980:( 968:{ 912:} 909:; 906:0 894:( 888:{ 885:) 879:( 870:} 867:; 858:{ 855:) 849:( 840:} 831:, 819:( 807:= 798:{ 783:* 780:( 774:( 733:C 712:C 535:C 506:( 494:= 488:: 473:( 440:) 434:( 422:( 413:) 407:, 401:( 386:( 377:) 371:, 365:( 350:( 134:) 128:( 123:) 119:( 109:· 102:· 95:· 88:· 61:. 38:. 20:)

Index

Callback function
modems
Callback (telecommunications)

verification
improve this article
adding citations to reliable sources
"Callback" computer programming
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

computer programming
function
reference
abstraction layer
parameter
returning
synchronous
non-blocking
Programming languages
function pointers
lambda expressions
blocks
telephone call
execution
interrupt

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.