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阅读
录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阅读
从异步,用延时来处理,改成同步获取数据
获取数据主要分2步:
1.从redis集合中获取数组;
2.遍历数组,抓取其中字符串,解析,拼接成需要的数据,返回给前端原代码,用sleep方法,避免异步数据处理带来的提前返回数据的问题;(缺点:时间比较久,逻辑中是有问题的)// 获取线路上公交的位置信息
app.post("/bus/getLineBusPos",async (req,res)=>{
转载
2023-06-08 19:32:31
39阅读
// let promise1 = new Promise((resovle, reject) => { // resovle('wwww') // }) // promise1().then((aa) => { // console.log(aa) // }) //异步函数 在普通函数定义前面加a
原创
2022-06-27 11:58:18
346阅读
Node.js 事件循环Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者
转载
2023-11-23 12:47:25
57阅读
事件循环原理流程图timers:本阶段执行setTimeout()和setInterval()调度的回调函数pending callbacks:本阶段执行某些系统操作的回调函数,例如文件操作回调idle、prepare:本阶段仅系统内部使用,我们并不关心poll:检索新的I/O事件,执行与I/O相关的回调,以及其他几乎所有的回调check: 本阶段执行setImmediate()调度的回调函数close callbacks: 本阶段执行一些与关闭相关的回调函数,如 socket.on('cl
原创
2021-07-09 10:49:20
249阅读
点赞
Node.js 事件循环
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。
Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。
Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。
Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事
转载
2017-05-19 08:09:00
182阅读
2评论
1. 只有一个主线程,node开始执行脚本时,会先进事件循环初始化(同步任务,发出异步请求,规划定时器生效时间,执行promise.nextTick等),这时事件循环还未开始。##### nodejs运行机制:V8引擎解析js脚本解析后的代码调用Node API库负责Node API的执行,它将不同的任务分配给不同的线程,形成一个Event Loop,以异步的方式将任务的执行结果返回给...
原创
2022-03-29 09:59:25
493阅读
将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评论
需求场景大概就是:调用的方法是异步的。需要遍历参数,循环调用这个方法。拿到所有方法执行的结果,才能进行下一步。 所以说,需要在循环里面执行异步方法,然后正确拿到所有结果。 刚面临这个问题的时候我是拒绝的,对于我这个还没出新手村的菜鸟来说,异步,还循环,离谱,总不能callback一层一层套进去吧。 ...
转载
2021-08-30 16:24:00
2539阅读
2评论
一、Promise介绍和优缺点Promise是异步编程的一种解决方案。Promise对象有以下两个特点:1、对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。2、一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfill
转载
2023-12-14 01:37:34
69阅读
爬虫基于回调和事件的方式去实现,回调也是被诟病已久的问题尤其是callback这种,无论是阅读还是调试都很费劲,甚至我们连代码的堆栈都看不到,这是一种反人类的写法,Promise来拜托这种痛苦的方式传统方式实现动画效果:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
原创
2017-03-28 20:18:11
2379阅读
一、事件循环 什么是事件循环?事件循环使得nodejs可以通过将操作转移到系统内核中来执行非阻塞I/O操作(尽管javascripts是单线程的)。由于大多数现代内核是多线程的,因此它们可以处理在后台执行的多个操作。当这些操作之一完成时,内核会告诉nodejs,以便可以将适度的回调添加到轮询队列中以最终执行。 通俗的说在nodejs内部使用了第三方库libuv,nodejs会把IO,文件读取等异步
转载
2024-08-13 15:49:10
23阅读
郑老师区块链大讲堂
原创
2018-12-01 19:10:19
1089阅读
Node.js的异步机制由事件和回调函数实现,一開始接触可能会感觉违反常规,但习惯以后就会发现还是非常easy的。 然而这之中事实上暗藏不少陷阱。一个非常easy遇到的问题就是回到循环的回调函数。 eq: var fs=require('fs'); var files=['a.txt','b.txt
转载
2017-07-30 12:56:00
168阅读
2评论
单线程的 Node.js 必须是非阻塞的,以防止线程阻塞在需要很长时间才能完成的任务上,事件循环负责实现这种非阻塞行为,它使用应用程序线程调度挂起的任务。Node.js 在任务完成时通过回调来处理异步函数返回的响应。与创建任务的事件类似,任务完成后也会发出一个事件。Node.js 将需要处理的事件添加到事件队列。
原创
2021-04-15 09:47:19
167阅读
单线程的 Node.js 必须是非阻塞的,以防止线程阻塞在需要很长时间才能完成的任务上,事件循环负责实现这种非阻塞行为,它使用应用程序线程调度挂起的任务。Node.js 在任务完成时通过回调来处理异步函数返回的响应。与创建任务的事件类似,任务完成后也会发出一个事件。Node.js 将需要处理的事件添加到事件队列。事件循环对事件队列中的事件进行迭代,并安排何时执行其关联的回调函数。...
原创
2022-03-29 16:41:38
77阅读
nodejs是单线程执行的,同时它又是基于事件驱动的非阻塞IO编程模型。这就使得我们不用等待异步操作结果返回,就可以继续往下执行代码。当异步事件触发之后,就会通知主线程,主线程执行相应事件的回调。以上是众所周知的内容。今天我们从源码入手,分析一下nodejs的事件循环机制。nodejs架构首先,我们先看下nodejs架构,下图所示:!(://s2.51cto.com/images/blo
原创
2022-09-26 14:40:32
162阅读
此文只是粗略介绍使用方法,欲了解核心概念请参考官方文档或其他资料。 举例写文章详情页面的时候的一个场景:首先更改文章详情中的 PV,然后读取文章详情,然后根据文章详情中文章 Id 查阅该文章评论和该文章作者信息。获取全部数据之后渲染文章详情页。数据库操作都是异步的,最直接想到的办法就是一层一层的回调
转载
2019-04-17 09:41:00
75阅读
2评论
简介 熟悉javascript的朋友应该都使用过事件,比如鼠标的移动,鼠标的点击,键盘的输入等等。我们在javascript中监听这些事件,从而触发相应的处理。 同样的nodejs中也有事件,并且还有一个专...
转载
2020-12-06 21:35:00
133阅读
2评论