前提・実現したいこと
eelを用いてHTMLとJavascriptで任意の文字、数字をブラウザ表示させたいのですが、Promiseによって阻まれています。
ディベロッパーツール上では
Promise {<pending>}
[[PromiseState]]:"fulfilled"
[[PromiseResult]]: 2
と表示されております。
似たような質問をされている方がいて、その返答ではこのような自分のやろうとしていることは難しいという風におっしゃっていました。
発生している問題・エラーメッセージ
該当部には[Object Promise]と表示されています。またディベロッパーツールのConsole上には本来表示させたい値が出ています。
該当のソースコード
Python
1import eel 2 3def main(): 4 eel.init("web") 5 eel.start("production.html") 6 7@eel.expose 8def gp(): 9 a = 1 + 1 10 print(a) 11 return a 12 13@eel.expose 14def gp2(a): 15 print(a) 16 return "ブラウザ" 17 18if __name__ == '__main__': 19 main() 20
HTML
1<html> 2<head> 3 <meta charset="UTF-8"> 4 <title>Production Monitor</title> 5 <script type="text/javascript" src="/eel.js"></script> 6 <script type="text/javascript"> 7 8 9 10 function gp(){ 11 let aaa = eel.gp()(); 12 alert(aaa); 13 } 14 15 16 async function gp2(){ 17 let val = await eel.gp2("コマンドプロンプト")(); 18 alert(val); 19 } 20 21 function gp1(){ 22 let bbb = eel.gp()(); 23 return bbb 24 } 25 26 new Promise(function(resolve, reject) { 27 resolve('成功'); 28 }); 29 30 new Promise(function(resolve, reject) { 31 reject('失敗'); 32 }); 33 34 35 </script> 36</head> 37<body> 38 <a href="#" onclick="gp()">link1</a> 39 <br> 40 <a href="#" onclick="gp2()">link2</a> 41 <br> 42 <div> 43 <script> 44 let a = gp1(); 45 document.write(a); 46 </script> 47 48 </div> 49</body> 50</html>
試したこと
関数についていた、asyncとawaitを消しました。
回答1件
あなたの回答
tips
プレビュー