标签: emit

socket.io发出的回调是否合适?

最近我一直在搞乱socket.io并发现这个有趣的事情,我可以像这样发出函数回调.

我在客户端开始像这样发射:

client.emit('eventToEmit', dataToEmit, function(error, message){
    console.log(error);
    console.log(message);
});
Run Code Online (Sandbox Code Playgroud)

然后我可以像这样从服务器端发出回调:

client.on('eventToEmit', function(data, callback){
    console.log(data);
    callback('error', 'message');
});
Run Code Online (Sandbox Code Playgroud)

一切正常,没有错误,但我感兴趣的是,如果做这样的事情是合适的,因为到目前为止我还没有在文档或任何例子中看到类似的东西.

callback node.js socket.io emit

40
推荐指数
1
解决办法
3万
查看次数

在Vuejs中将数据从子节点传递给父节点(它是如此复杂吗?)

谢谢你阅读我的问题.

我读过它

vuejs更新子组件的父数据

https://forum.vuejs.org/t/passing-data-back-to-parent/1201/2

概念是一样的,我需要将数据对象从子传递给父,我使用$ emit将数据传递给父组件,但不起作用.你知道出了什么问题吗?在这里检查我的代码:

Vue.component('list-products', {
  delimiters: ['[[', ']]'],
  template: '#list-products-template',
  props: ['products'],
  data: function () {
    return {
      productSelected: {}
    }
  },
  methods: {
    showDetailModal: function (product) {
    	console.log('click product in child, how can i pass this product to productSelected data in parent?');
      console.log(product);
      this.productSelected = product;
      this.$emit('clickedShowDetailModal', product);
    }
  }
});


var app = new Vue({
  delimiters: ['[[', ']]'],
  el: '#resultComponent',
  data: {
    listProducts: [
      	{'name':'test1',id:1},
        {'name':'test2',id:2},
        {'name':'test3',id:3}
    ],
    productSelected: {}
  },
  methods: {
    clickedShowDetailModal: function …
Run Code Online (Sandbox Code Playgroud)

emit vue.js

28
推荐指数
3
解决办法
4万
查看次数

"排放"在一般的计算机科学术语中意味着什么?

我只是偶然发现了一个看似普遍知道的compsci关键字"emit".但我在一般的计算机科学术语中找不到任何明确的定义,也没有在任何特定的编程语言中找到"emit()"函数或关键字的具体定义.

我在这里找到它,阅读MapReduce:

https://en.wikipedia.org/wiki/MapReduce

我的其他搜索的上下文显示它与信令和/或事件有关.但似乎只是假设读者会知道"发射"是什么和做什么.例如,这篇关于MapReduce模式的文章:

https://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/

没有提到"发射"实际上在做什么,只有调用它.它必须与其他形式的返回数据不同,例如"return"或简单地"printf"或等效,否则对"emit"的调用将是对"return"的调用.

进一步搜索,我发现很多次在MapReduce的上下文中出现了一些伪代码形式的"emit".并在Node.js. 在Qt.但那是关于它的.

背景:我是(大多数)自学成才的网络程序员和系统管理员.我确定这个问题在compsci 101(或201?)中有所涉及,但我没有采用这个课程.

emit

14
推荐指数
3
解决办法
3440
查看次数

QtRuby发射不起作用

平台:

Darwin * -*s-MacBook-Pro.local 11.4.2 Darwin内核版本11.4.2:8月23日星期四16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64

Ruby:

ruby 2.0.0p0(2013-02-24修订版39474)[x86_64-darwin11.4.2](由rvm安装)

Qt:

qt:稳定4.8.4(瓶装),HEAD

代码:

require 'Qt'

class Foo < Qt::Object

    signals :my_signal #also tried 'my_signal()'
    slots 'my_slot()'

    def initialize(parent = nil)
        super(parent)

        puts "connecting signal and slot"
        Qt::Object.connect(self, SIGNAL('my_signal()'), self, SLOT('my_slot()'))
        # also tried => connect(self, SIGNAL('my_signal()'), self, SLOT('my_slot()'))

    end

    def emit_my_signal
        puts "sending signal"
        emit my_signal
    end

    def my_slot
        puts "received message from signal"
    end
end


o = Foo.new
o.emit_my_signal
Run Code Online (Sandbox Code Playgroud)

输出: …

ruby qt signals slot emit

13
推荐指数
1
解决办法
628
查看次数

Qt - 从c ++线程发出信号

我想从Qt中的C++线程(std :: thread)发出信号.

我该怎么做?

c++ qt signals-slots emit stdthread

13
推荐指数
2
解决办法
9216
查看次数

AngularJS事件传播 - 兄弟姐妹?

我知道$ emit在DOM树上发送消息,$ broadcast发送消息.

如何在兄弟DOM元素之间发送消息 - 我该怎么做?

events broadcast emit angularjs

11
推荐指数
2
解决办法
7474
查看次数

如何在mongoose中间件中发出事件?

我想在新博客保存时发出事件

blog.post('save',function(blog){
    this.emit('newBlog',blog)
})
Run Code Online (Sandbox Code Playgroud)

在我的项目的其他地方说app.js可以听这个事件

EventEmitter  = require('events').EventEmitter;
emitter = new EventEmitter();

emitter.on('newBlog',function(blog){
    console.log(blog);
})
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

events mongoose node.js emit

11
推荐指数
1
解决办法
4362
查看次数

如何发出具有严格类型负载的事件?| Vue 3 组合 API + TypeScript

我正在尝试使用 TypeScript 学习 Vue 3 Composition API,特别是如何使用严格类型化的有效负载发出事件。

我在下面有一个例子,但我不确定这是否是正确的方法。所以我的问题是是否还有其他方法可以发出具有严格类型负载的事件?


例子

我使用了这个包: https: //www.npmjs.com/package/vue-typed-emit并使其与下面的示例一起使用,其中我将布尔值从子组件传递到父组件:

子组件:

<script lang="ts">
import { defineComponent, ref, watch } from 'vue'
import { CompositionAPIEmit } from 'vue-typed-emit'

interface ShowNavValue {
  showNavValue: boolean
}
interface ShowNavValueEmit {
  emit: CompositionAPIEmit<ShowNavValue>
}

export default defineComponent({
  name: 'Child',
  emits: ['showNavValue'],

  setup(_: boolean, { emit }: ShowNavValueEmit) {
    let showNav = ref<boolean>(false)

    watch(showNav, (val: boolean) => {
        emit('showNavValue', val)
    })

    return {
      showNav
    }
  }
})
</script>
Run Code Online (Sandbox Code Playgroud)

父组件

<template>
  <div id="app">
    <Child …
Run Code Online (Sandbox Code Playgroud)

types emit typescript vue.js vue-composition-api

11
推荐指数
1
解决办法
1万
查看次数

$ parent vs call在父子指令通信中的最佳方法

我试图了解什么是最好的GENERIC方法在父和子指令之间进行通信与隔离范围(它们可能是可重用的项目).

这意味着如果child指令需要以某种方式更新父指令(两者都有隔离的作用域),我应该传递一个回调函数:

例如:

.directive('filterReviewStepBox', function () {
    return {
        restrict: 'EA',
        scop: {
            //some data
        },
        template: '<div>text<reusable-dir></reusable-dir call-back="foo"></div>',
        link: function (scope, elem, attrs) {
            scope.foo = function () {
                console.log('bar');
            };
        }
    };
}).directive('reusableDir', function () {
    return {
        restrict: 'EA',
        scope: {
            callBack: '=callBack'
                //other data
        },
        template: '<div>text<button type="button" ng-click="bar"></button></div>',
        link: function (scope, elem, attrs) {
            scope.bar = function () {
                scope.callBack();
            }
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

或者我应该使用$ emit():

例如:

  directive('filterReviewStepBox', function () {
        return {
            restrict: 'EA', …
Run Code Online (Sandbox Code Playgroud)

emit angularjs angularjs-directive

10
推荐指数
1
解决办法
1656
查看次数

EventEmitter发射不在角度4中工作

这是我的代码如下:

search.component.html

<button (click)="addMe()">Click</button>
Run Code Online (Sandbox Code Playgroud)

search.component.ts

import { Component, Directive, OnInit, Input, Output, EventEmitter } from '@angular/core';

@Component({
   selector: 'search-component',
   templateUrl: './search.component.html'
})

export class SearchComponent {
   @Output() userUpdated = new EventEmitter();

   addMe() {
       this.userUpdated.emit('my data to emit');
   }
}
Run Code Online (Sandbox Code Playgroud)

profile.component.html

<search-component (userUpdated)="handleUserUpdated($event)"></search-component>
Run Code Online (Sandbox Code Playgroud)

profile.component.ts

handleUserUpdated(e) {
   console.log('e', e);
}
Run Code Online (Sandbox Code Playgroud)

emit angular

10
推荐指数
1
解决办法
4348
查看次数