ApiAIPromises не определен (ionic 3, диалоговое окно) - PullRequest
0 голосов
/ 31 мая 2018

Я использую диалоговое окно в моем ионном приложении.Это мой файл .ts.

    import { Component, NgZone } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

declare var ApiAIPromises: any;

@IonicPage()
@Component({
  selector: 'page-chat-box',
  templateUrl: 'chat-box.html',
})
export class ChatBoxPage {

  answer;

  constructor(public navCtrl: NavController,
      public navParams: NavParams,
      public ngZone: NgZone) 
      {
        ApiAIPromises.init({
        clientAccessToken: "xxxxxxxxxxxx"
      })
      .then((result) =>  console.log(result))

  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad ChatBoxPage');
  }
  goBack() {
    this.navCtrl.pop();
  }

  ask(question) {
    ApiAIPromises.requestText({
      query: question
    })
    .then(({result: {fulfillment: {speech}}}) => {
       this.ngZone.run(()=> {
         this.answer = speech;
       });
    })
  }

}

Я также установил плагин

плагин ionic cordova add cordova-plugin-apiai

Когда я пытаюсь запустить его, я получаю сообщение об ошибке, как указано ниже.

Uncaught (в обещании): ReferenceError: ApiAIPromises не определен ReferenceError: ApiAIPromises не определен в новомChatBoxPage (chat-box.ts: 19) в createClass (core.js: 12443) в createDirectiveInstance (core.js: 12284) в createViewNodes (core.js: 13742) в createRootView (core.js: 13631) в callWithDebugContext (core).js: 15056) в Object.debugCreateRootView [as createRootView] (core.js: 14339) в ComponentFactory_.create (core.js: 11236) в ComponentFactoryBoundToModule.create (core.js: 4023) в Tab.NavControllerBase.viewInit (nav-controller-base.js: 441) в новом ChatBoxPage (chat-box.ts: 19) в createClass (core.js: 12443) в createDirectiveInstance (core.js: 12284) в createViewNodes (core.js: 13742)) в createRootView (core.js: 13631) при вызовеlWithDebugContext (core.js: 15056) в Object.debugCreateRootView [as createRootView] (core.js: 14339) в ComponentFactory .create (core.js: 11236) в ComponentFactoryBoundToModule.create (core.js) 40: at: 4023:.NavControllerBase._viewInit (nav-controller-base.js: 441) в c (polyfills.js: 3) в Object.reject (polyfills.js: 3) в Tab.NavControllerBase._fireError (nav-controller-base.js:223) в Tab.NavControllerBase._failed (nav-controller-base.js: 216) в nav-controller-base.js: 263 в t.invoke (polyfills.js: 3) в Object.onInvoke (core.js: 4749) в t.invoke (polyfills.js: 3) в r.run (polyfills.js: 3) в polyfills.js: 3 defaultErrorLogger @ core.js: 1448 ErrorHandler.handleError @ core.js: 1509 IonicErrorHandler.handleError @ ionic-error-handler.js: 61 следующий @ core.js: 5497 schedulerFn @ core.js: 4331 SafeSubscriber .__ tryOrUnsub @ Subscriber.js: 239 SafeSubscriber.next @ Subscriber.js: 186 Подписчик._следующий @ Подписчик.js 126:.next @ Subscriber.js: 90 Subject.next @ Subject.js: 55 EventEmitter.emit @ core.js: 4311 (анонимно) @ core.js: 4771 t.invoke @ polyfills.js: 3 r.run @ polyfills.js: 3 NgZone.runOutsideAngular @ core.js: 4697 onHandleError @ core.js: 4771t.handleError @ polyfills.js: 3 r.runGuarded @ polyfills.js: 3 (анонимно) @ polyfills.js: 3 n.microtaskDrainDone @ polyfills.js: 3 o @ polyfills.js: 3 e.invokeTask @ polyfills.js: 3 p @ polyfills.js: 2 v @ polyfills.js: 2

1 Ответ

0 голосов
/ 14 августа 2018

Переменная ApiAIPromises имеет ссылку в плагине Cordova.Следовательно, он выдает ошибку «Не определено» при запуске в браузере с использованием ионной подачи.

Когда он запускается на устройстве или симуляторе, он не выдаст никакой ошибки.

...