2017-06-20 18 views
1

私はtypescriptを初めて使用しています。このエラーをデバッグする方法はわかりません。Protracto-TypeScriptエラー:引数型booleanがパラメータ型booleanに割り当てられていません。boolean

Error:(101, 50) TS2345:Argument of type '(isEnabled: boolean) => Promise<CloudletPolicyBean> | undefined' is not assignable to parameter of type '((value: boolean) => CloudletPolicyBean | IThenable<CloudletPolicyBean>) | undefined'.

マイコード:

import {ClType} from "./ClType"; 
    export class ClPolicyBean { 
    private type: ClType; 
    private name: string; 
    private description: string; 

    public setType(type: ClType): void { 
     this.type = type; 
    } 

    public getType(): ClType { 
     return this.type; 
    } 

    public setName(name: string): void { 
     this.name = name; 
    } 

    public getName(): string { 
     return this.name; 
    } 

    public setDescription(description: string): void { 
     this.description = description; 
    } 

    public getDescription(): string { 
     return this.description; 
    } 
} 

ページオブジェクト:とき、私

import {browser, element, by, ElementFinder,ElementArrayFinder} from "protractor”; 
import {ClPolicyBean} from "../dsl/ClPolicyBean"; 
export class CreateClPolicyDialog{ 
public constructor() { 
    super(true); 
} 
private createPolicyButton: ElementFinder = element(by.css("button[class *= 'submit-button']")); 

public isSubmitButtonEnabled(): wd.promise.Promise<boolean> { 
    return this.createPolicyButton.isEnabled(); 
} 
public submit(): wd.promise.Promise<CloudletPolicyBean> { 

    return this.isSubmitButtonEnabled().then(isEnabled => { 
     if(isEnabled) { 

      let cl:ClPolicyBean = new ClPolicyBean(); 

      this.getSelectedClType().then(type => { 
       cl.setType(type); 
      }); 
      return this.createPolicyButton.click().then(() => { 
        ExtendedExpectedConditions.waitForElementNotVisible(this.dialogContainer, 30000); 
        return cl; 
       }); 
      } 
     }); 
    } 
} 

、私のページのオブジェクト・コード・活字体では不平を言っているここではtypescriptですが投げているエラーがありますisSubmitButtonEnabledを使用しようとしています。私はtypescriptに慣れています。

+0

どのように 'createPolicyButton'が定義されていますか? – alecxe

+0

自分のコードを編集しました。 – lfc1988

+0

@alecxeここで私が間違っていることを見ることができますか? – lfc1988

答えて

0

isSubmitButtonEnabled約束を返します。 submitifの文では、結果がisSubmitButtonEnabledであることを確認しようとしています。そうではない。

使用のようなもの:

public isSubmitButtonEnabled() { 
    return this.createPolicyButton.isEnabled().then((enabledBool) => { 
     return enabledBool; 
    }) 
} 
+0

私は、thenを使ってsubmit()の約束を解決します。それを前に解決するのはなぜでしょうか? – lfc1988

関連する問題