Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度POS打印问题_Angular_Rsvp.js_Rsvp Promise - Fatal编程技术网

Angular 角度POS打印问题

Angular 角度POS打印问题,angular,rsvp.js,rsvp-promise,Angular,Rsvp.js,Rsvp Promise,我的要求:打印不带打印预览角6 我找到的唯一解决办法 我正在使用think link进行角度POS打印 我还有其他选择吗? .ts代码 printInvoice() { console.log(this.printService.getPrinters()); } 我的服务代码 import { Observable } from 'rxjs'; import 'rxjs/add/observable/fromPromise'; import 'rxjs/add/observabl

我的要求:打印不带打印预览角6

我找到的唯一解决办法

我正在使用think link进行角度POS打印

我还有其他选择吗?

.ts代码

 printInvoice() {
  console.log(this.printService.getPrinters());
  }
我的服务代码

import { Observable } from 'rxjs';
import 'rxjs/add/observable/fromPromise';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import { Injectable } from '@angular/core';
import * as shajs from 'sha.js';
import * as qz from 'qz-tray';
**import * as RSVP from 'rsvp';**

@Injectable()
export class QzTrayService {
    constructor() { }

    errorHandler(error: any): Observable<any> {
        console.log('error handler');
        return Observable.throw(error);
    }

    // Get list of printers connected
    getPrinters(): Observable<string[]> {
        console.log(Observable
            .fromPromise(qz.websocket.connect()
                .then(() => qz.printers.find()))
            .map((printers: string[]) => printers) );
        return Observable
            .fromPromise(qz.websocket.connect()
            .then(() => qz.printers.find()))
            .map((printers: string[]) => printers)
            .catch(this.errorHandler);
    }

    // Get the SPECIFIC connected printer
    getPrinter(printerName: string): Observable<string> {
        return Observable
            .fromPromise(qz.websocket.connect().then(() => qz.printers.find(printerName)))
            .map((printer: string) => printer)
            .catch(this.errorHandler);
    }

    // Print data to chosen printer
    printData(printer: string, data: any): Observable<any> {
        // Create a default config for the found printer
        const config = qz.configs.create(printer);
        return Observable.fromPromise(qz.print(config, data))
            .map((anything: any) => anything)
            .catch(this.errorHandler);
    }

    // Disconnect QZ Tray from the browser
    removePrinter(): void {
        qz.websocket.disconnect();
    }
}
从'rxjs'导入{Observable};
导入“rxjs/add/observable/fromPromise”;
导入“rxjs/add/observable/throw”;
导入'rxjs/add/operator/map';
导入“rxjs/add/operator/catch”;
从“@angular/core”导入{Injectable};
从“sha.js”导入*作为shajs;
从“qz托盘”导入*作为qz;
**从“RSVP”导入*作为RSVP**
@可注射()
出口类QZTRAY服务{
构造函数(){}

errorHandler(error:any):可观察的

将其添加到该文件中不会使其可用于其他脚本

您需要将其作为全局脚本包含

为此,请将以下内容添加到index.html中:

<head>
   <script src="../node_modules/rsvp/dist/rsvp.min.js"></script>
</head> 


或者,您可以将其包含在脚本部分的
angular.json
中,您可以在调用
RSVP
的地方添加代码吗?这是我的代码。我没有调用RSVP,我将RSVP包含在服务导入中,但我没有得到打印机列表