「応答が設定されていません。これは、インテントハンドラーへのプロミスとして返されなかった非同期呼び出しで使用されていますか?」jsを使用する

ケビン・ヴァズ

これはエラーを生成しているコードです。呼び出されたときにこのインテントによって生成されたフルフィルメント応答は、「応答が設定されていません。これは、インテントハンドラーへのプロミスとして返されなかった非同期呼び出しで使用されていますか?」それを修正するにはどうすればよいですか?

app.intent('getCrypto', (conv,{crypto="ethereum",cryptoactions="price"}) =>{
     fetch('https://api.coinmarketcap.com/v1/ticker/').then(response => {
       return response.json();
     }).then(data => {
          for (let i = 0; i < data.length - 1; i++) {
            if (data[i].id === "bitcoin")
               conv.data.price=data[i].price_usd;
               conv.ask(`${conv.data.price} is the current value of ${crypto}`);
               return response.json();
          }

     }).catch(err => {
          return conv.ask(`${cryptoactions} of ${crypto} is not available. Would you like to know about another one?`);
     });
});
アザトゥレプベルゲノフ

エラーメッセージは、「これは、インテントハンドラへのpromiseとして返されなかった非同期呼び出しで使用されていますか?」という正確な問題を説明しています。

インテントハンドラから非同期呼び出しを返す必要があります。したがって、returnへの呼び出しの直前に権利を追加fetchすると、問題が修正されるはずです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ