这一篇是在实际工程中遇到的一个难得的例子;反映在Node里两种编程范式的设计冲突。这种冲突具有普适性,但本文仅分析问题本质,不探讨更高层次的抽象。 我在写一个类似的资源协议,叫RP,Resource Protocol,和不同的地方,RP是构建在一个中立的传输层上的;这个传输层里最小的
转载
2020-09-28 15:12:00
277阅读
2评论
JavaScript 异步演化史 前几天看了一个Javascript 异步演化史,谈到从 callback 到 Promise 再到 Async/Await 的历程,很有趣。大家有兴趣的话可以去看一下原文,或是直接百度搜翻译。 我这里默认大家都了解了这段历史,只简单介绍一下 JavaScript 异
转载
2020-11-21 22:16:00
58阅读
2评论
nodejs 的一步调用经历了,callback -> promise -> async await(语法糖) 模式的转变 以下是几个整理 nodejs 自带的callback -> promise 处理 util 工具包 参考使用 const util = require("util") func
原创
2021-07-18 18:48:55
243阅读
一、实验让我们尝试一个实验。什么执行得更快:立即解决的承诺或立即超时(也就是0毫秒超时)
原创
2021-12-31 10:46:59
81阅读
一、实验让我们尝试一个实验。什么执行得更快:立即解决的承诺或立即超时(也就是0毫秒超时)?
Promise.resolve(1).then(function resolve() {
console.log('Resolved!');
});
setTimeout(function timeout() {
console
原创
2022-01-11 15:05:24
54阅读
node js 操作redis promise
连接redis = require('redis')
var client = redis.createClient('6379', '127.0.0.1');
client.on('connect', function() {
console.log('connected');
});基础操作/**
* 1、字符串数据类型
*/
转载
2023-06-28 15:40:32
121阅读
://isouth.org/archives/354.html 在并发编程中,我们通常会用到一组非阻塞的模型:Promise,Future 和 Callback。其中的 Future 表示一个可能还没有实际完成的异步任务的结果,针对这个结果可以添加 Callback 以便在任务执行成功或失败
转载
2020-06-05 10:48:00
232阅读
2评论
在并发编程中,我们通常会用到一组非阻塞的模型:Promise,Future(同步的)和Callback(回调,异步的,回调有很多好处,比如不占用cpu,没有线程中断之类的破事)。其中的Future表示一个可能还没有实际完成的异步任务的结果,针对这个结果可以添加Callback以便在任务执行成功或失败
转载
2023-05-11 17:14:36
300阅读
录Promise第一部分 金字塔渊源第二部分 一步步跳出地狱1.1 单线程之囧1.2 翻身之---异步2.3.1 promise链式调用基本2.3.2 链式调用传参2.3.4 对比2.3.1 快捷构造--Promise.resolve/reject2.3.2 为何顺序是这样呢?2.3.3 不要对异步回调函数进行同步调用2.2.1 Promise 构造与基本属性2.2.2 Promise的状态2.1
原创
2021-03-23 10:02:59
674阅读
Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。function fn (cb?:
原创
2023-03-13 18:39:50
35阅读
并发编程 Promise, Future 和 Callback在并发编程中,我们通常会用到一组非阻塞的模型:Promise,Future 和 Callback。其中的 Future 表示一个可能还没有实际完成的异...
转载
2019-10-04 08:14:00
271阅读
2评论
从异步,用延时来处理,改成同步获取数据
获取数据主要分2步:
1.从redis集合中获取数组;
2.遍历数组,抓取其中字符串,解析,拼接成需要的数据,返回给前端原代码,用sleep方法,避免异步数据处理带来的提前返回数据的问题;(缺点:时间比较久,逻辑中是有问题的)// 获取线路上公交的位置信息
app.post("/bus/getLineBusPos",async (req,res)=>{
转载
2023-06-08 19:32:31
39阅读
FutureFuture是Java5增加的类,它用来描述一个异步计算的结果。你可以使用 isDone 方法检查计算是否完成,或者使用 get 方法阻塞住调用线程,直到计算完成返回结果。你也可以使用 cancel 方法停止任务的执行。下面来一个栗子:public class FutureDemo { public static...
原创
2022-03-29 11:46:03
281阅读
利用Promise 和 callback获取异步函数的处理结果 一、案例情景(基于vue脚手架) **手机号验证:**如果手机号格式错误,得到处理结果为false;如果手机号格式正确,axios请求接口,如果返回的code为201(表示手机号已经被注册),得到处理结果为false,否则即手机号未被注 ...
转载
2021-07-14 16:54:00
143阅读
2评论
// let promise1 = new Promise((resovle, reject) => { // resovle('wwww') // }) // promise1().then((aa) => { // console.log(aa) // }) //异步函数 在普通函数定义前面加a
原创
2022-06-27 11:58:18
346阅读
将nodejs里的类似fs.readFile('1.text',(err,data)=>{...})的回调方法变为promise的方式,如下const newReadFile = promisify(fs.readFile);
newReadFile('1.txt')
.then(data => {})
.catch(err => {});promisify实现如下:f
转载
2021-06-08 10:03:00
252阅读
2评论
根据笔者的项目经验,本文讲解了从函数回调,到 es7 规范的异常处理方式。异常处理的优雅性随着规范的进步越来越高,不要害怕使用 try catch,不能回避异常处理。我们需要一个健全的架构捕获所有同步、异步的异常。业务方不处理异常时,中断函数执行并启用默认处理,业务方也可以随时捕获异常自己处理。优雅的异常处理方式就像冒泡事件,任何元素可以自由拦截,也可以放任不管交给顶
原创
2017-04-07 21:31:59
650阅读
爬虫基于回调和事件的方式去实现,回调也是被诟病已久的问题尤其是callback这种,无论是阅读还是调试都很费劲,甚至我们连代码的堆栈都看不到,这是一种反人类的写法,Promise来拜托这种痛苦的方式传统方式实现动画效果:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
原创
2017-03-28 20:18:11
2379阅读
背景: updateData(callback) { // 表示如果传入了callback,那么 callback() }...
原创
2022-05-30 11:23:19
400阅读
我要逛街去了小王问的问题 >1 + 1 = ?小李告诉小王的答案是 >答案是2
转载
2018-12-07 10:58:00
99阅读
2评论