Returnステートメントは、分度器のコードよりも早く実行されます
public newcc(newc:string):boolean
{
var Outcome:boolean=false;
this.Cc.getText().then(function (text){
var Name=text.toString();
var str_array = Name.split(',');
console.log("Cce : "+Name);
for(var i:number=0;i<str_array.length;i++) {
// if the name is found then make the outcome true and break
if(str_array[i]==cc) {
console.log(str_array[i] +" is equal to "+ClinicName);
Outcome=true;
console.log("Inside Outcome " +Outcome);
break;
} else {
console.log(str_array[i] +" is not equal to "+Cc);
}
}
});
return Outcome;
// the return always exectued earlier than above `this.ClinicList.getText()`
}
このため、メソッドはtrueであってもfalseを返します。
回答 1 件
関連記事
- それ以外のステートメントは実行されていません。実行されているのはIFステートメントだけですか?
- ElseステートメントがElseステートメントを返さない場合
- javascript elseステートメントは、すべてが正しく入力された場合にのみtrueを返します
- returnステートメントがない場合、再帰関数は何を返しますか?
- returnステートメントは匿名オブジェクトを返しますか?
- Javascript関数:undefinedを返すのと同じreturnステートメントはありませんか?
- OracleおよびPostgreSQLデータベースで実行されたときに異なる結果を返すクエリ
- スレッドが実行する関数のreturnステートメントは自動的にスレッドを殺しますか?
- 単純なvarに対する「vargetreturn」ステートメントの違いは何ですか
- java:ブラックジャックゲームのreturnステートメントがありません
実際に
return
this.ClinicList.getText()
の背後で実行されます 。明確な理解を得るには、すべての分度器APIが非同期で実行され、Promiseを返すことを知る必要があります。また、Promiseを理解する必要もあります。Nodejsがこの関数を実行するとき、行
this.ClinicList.getText().then()
に実行するとき 、この行はpomiseを返し、次に移動して次の行を実行します:return Outcome
。キーポイントは
getText()
です 非同期であるため、ページからテキストを読み取る実際の作業は非同期で実行されるため、実際の作業はnodejsがreturn Outcome
を実行するよりも後に開始されます 。