2016-08-08 13 views
-2

に変数に要素からテキストを返すために - のgetText()メソッドが返す)(期待していますが、の内側にそれを使用しているとき、それは場合には大丈夫だ、約束が、私がしようとしているとき要素の値stringを変数に返すと、約束を返します。コードは次のとおりです。どのようにここでの契約だ分度器

var text = mainPage.counter().getText().then((text) => { 
     return text; 
}) 

テキストを取得して変数に割り当てる方法はありますか?

答えて

0

、あなたはおそらくこれをチェックする必要がありますポスト:あなたのケースで非常にHow do I return the response from an asynchronous call?

-

var data = mainPage.counter().getText().then((text) => { 
    return text; 
    }); 
// at this point data is still a managed promise! 
data.then((text) => { 
    console.log(text); // your text would be printed! 
    }); 
+0

コードは、約束の処理のために重複しています。より良いフォロー:var data = mainPage.counter()。getText(); data.then((text)=> { console.log(text); //あなたのテキストは印刷されます! }); –

+0

はいこれもやり遂げることができますが、ちょうどqnに固執したいと思っていました! –

+0

答えをありがとう、それは動作します。 –

0

その後、内部のそれへのグローバルレベルと店のテキスト値で変数「string」を宣言します(関数(){})約束の値が別の約束によってのみ解決することができ

Code snippet: 
    var string; 
    mainPage.counter().getText().then((text) => { 
     string=text; 
    }); 
+0

あなたは説明していただけますか? –

+0

これは動作しません。この場合、stringは 'undefined'になります!あなたはそれをチェックアウトすることができます。 –

+0

@ByteSurferあなたが書いたコードはうまくいくはずです。しかし、あなたはそれが働かないと言った。だから私はグローバル変数を宣言し、そのテキストを格納することを提案した –

0

変数が約束とします、必要なときに解決:

var text = mainPage.counter().getText(); 
// some other code 

text.then(function (realTextValue) { 
    console.log(realTextValue); 
}); 
-1

は、この方法を試してください。この変数は唯一のグローバルスコープで宣言されなければならない理由

var text = function(){ return mainPage.counter().getText(); };

+0

これは約束を返すので、これは動作しません。 – Sam

関連する問題