转换为TypeScript

时间:2017-09-15 07:55:24

标签: node.js angular typescript websocket socket.io

我尝试使用TypeScript在WebSocket中发送消息。通过在我的控制台中保留它,它可以工作:

socket.on('displayHello', function(data) {
    $.pnotify({
        title: "Hello",
        text:  data.from + " te dis bonjour " + data.to,
        type:  "info"
    });
});

我想将其翻译成TypeScript:

public onMessage(): Observable<any> {
  return new Observable(observer => {
    this.socket.on('displayHello', (data) => {

      observer.next(data);
    });
  });
}

我没有看到如何处理pnotify参数,因为TypeScript无法识别它。

当我尝试这个时:

public onMessage(): Observable<any> {
return new Observable(observer => {
  this.socket.on('displayHello', (data) => {
    observer.next(data);
    $.pnotify({
      title: 'Hello',
      text:  data.from + ' te dis bonjour ' + data.to,
      type:  'info'
    });
  });
});
}

我有这个错误:

TS2339:Property 'pnotify' does not exist on type '(search: string) => ElementFinder'

1 个答案:

答案 0 :(得分:1)

您可以通过安装pnotify的类型定义来解决您遇到的问题。

根据您是否使用npm或纱线,您需要执行npm install --save-dev @types/jquery.pnotifyyarn add --dev @types/jquery.pnotify

另外,请确保您使用的是最近版本的TypeScript,它会自动在@types/ - 文件夹

中找到类型定义