Advertisement
samimwebdev

asynchronous programming

Jan 1st, 2022
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.36 KB | None | 0 0
  1. //Synchronous vs asynchronous
  2.  
  3. //Asynchronous(Not Instant)
  4. //Sending API request
  5. //saving data to database
  6. //reading data from database
  7. //reading file , writing file
  8.  
  9. //javascript is single threaded
  10. //send task to the browser
  11. // send result from the browser to javascript engine
  12. //Asynchronous programming
  13.  
  14. //browser + javascript V8 engine = Javascript We know(?)
  15. //window, alert -part of browser
  16.  
  17. //way of dealing asynchronous data
  18. //callback pattern
  19. //promise pattern
  20. //async await pattern (promise)
  21.  
  22. //callback
  23. // function one(fn) {
  24. // setTimeout(() => {
  25. // fn(1)
  26. // }, 2000)
  27. // }
  28.  
  29. // function two(num) {
  30. // return num
  31. // }
  32.  
  33. // callback
  34. // function three(fn, num) {
  35. // setTimeout(() => {
  36. // fn(num)
  37. // }, 2000)
  38. // }
  39.  
  40. //callback hell //nested architecture
  41. // one((value) => {
  42. // console.log(value)
  43. // const callBackFnThree = (value) => {
  44. // console.log(value)
  45. // }
  46. // three(callBackFnThree, value + 2)
  47. // })
  48.  
  49. // const callBackFnOne = (value) => {
  50. // console.log(value)
  51. // }
  52.  
  53. // one(callBackFnOne)
  54.  
  55. // console.log(one())
  56.  
  57. // three((value) => {
  58. // console.log(value)
  59. // })
  60. // console.log(three())
  61.  
  62. // three()
  63. // .then((value) => {
  64. // console.log(value)
  65. // })
  66. // .catch((err) => console.log(err))
  67.  
  68. //promise pattern
  69. //resolve
  70. //reject
  71. //pending state
  72. // function one() {
  73. // return new Promise((resolve, reject) => {
  74. // setTimeout(() => {
  75. // resolve(1)
  76. // // reject(new Error(1))
  77. // }, 2000)
  78. // })
  79. // }
  80.  
  81. // function two(num) {
  82. // return num
  83. // }
  84.  
  85. //promise pattern
  86. // function three(num) {
  87. // return new Promise((resolve, reject) => {
  88. // setTimeout(() => {
  89. // resolve(num)
  90. // }, 2000)
  91. // })
  92. // }
  93.  
  94. // one()
  95. // .then((value) => {
  96. // //result available
  97. // return three(value + 2)
  98. // })
  99. // .then((data) => {
  100. // console.log(data)
  101. // })
  102. // .catch((err) => console.log(err))
  103.  
  104. //Way of connecting through API
  105. //axios, fetch
  106. //asynchronous
  107.  
  108. async function getTodos() {
  109. try {
  110. const res = await fetch('https://jsonplaceholder.typicode.com/todos')
  111. const data = await res.json()
  112. return data
  113. } catch (err) {
  114. console.log(err)
  115. }
  116.  
  117. // .then((res) => {
  118. // return res.json()
  119. // })
  120. // .then((data) => console.log(data))
  121. // .catch((err) => console.log(err))
  122. }
  123. //IIFE
  124. ;(async function () {
  125. const data = await getTodos()
  126. console.log(data)
  127. })()
  128.  
  129. //GET Request(Getting data)
  130. // function getTodos() {
  131. // fetch('https://jsonplaceholder.typicode.com/todos')
  132. // .then((res) => {
  133. // return res.json()
  134. // })
  135. // .then((data) => console.log(data))
  136. // .catch((err) => console.log(err))
  137. // }
  138.  
  139. // getTodos()
  140.  
  141. //GET Request(Getting data)
  142. // function getTodo() {
  143. // fetch('https://jsonplaceholder.typicode.com/todos/1')
  144. // .then((res) => {
  145. // return res.json()
  146. // })
  147. // .then((data) => console.log(data))
  148. // .catch((err) => console.log(err))
  149. // }
  150.  
  151. // getTodo()
  152.  
  153. //POST (adding new Data to server)
  154. // function addTodo() {
  155. // fetch('https://jsonplaceholder.typicode.com/todos/', {
  156. // method: 'POST',
  157. // headers: {
  158. // 'Content-type': 'application/json; charset=UTF-8',
  159. // },
  160. // body: JSON.stringify({
  161. // title: 'Hello world',
  162. // completed: false,
  163. // }),
  164. // })
  165. // .then((res) => {
  166. // return res.json()
  167. // })
  168. // .then((data) => console.log(data))
  169. // .catch((err) => console.log(err))
  170. // }
  171.  
  172. // addTodo()
  173. //PUT/PATCH(updating data to server)
  174.  
  175. // function updateTodo() {
  176. // fetch('https://jsonplaceholder.typicode.com/todos/1', {
  177. // method: 'PUT',
  178. // headers: {
  179. // 'Content-type': 'application/json; charset=UTF-8',
  180. // },
  181. // body: JSON.stringify({
  182. // title: 'updated data',
  183. // completed: true,
  184. // }),
  185. // })
  186. // .then((res) => {
  187. // return res.json()
  188. // })
  189. // .then((data) => console.log(data))
  190. // .catch((err) => console.log(err))
  191. // }
  192.  
  193. // updateTodo()
  194.  
  195. //DELETE(delete data from server)
  196.  
  197. // function deleteTodo() {
  198. // fetch('https://jsonplaceholder.typicode.com/todos/1', {
  199. // method: 'DELETE',
  200. // })
  201. // .then((res) => {
  202. // return res.json()
  203. // })
  204. // .then((data) => console.log(data))
  205. // .catch((err) => console.log(err))
  206. // }
  207.  
  208. // deleteTodo()
  209.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement