私はnode.jsを初めて使用しており、クラスを要求しようとしています。私は参考としてhttps://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classesを使用しました。私は例のためにこれを行うときしかし、:app.jsがelectron.jsレンダラプロセスがあることを指摘しておかなければ未知の型エラー:this.methodは関数ではありません - ノードjsクラスのエクスポート
talker.js:4 Uncaught TypeError: this.say is not a function
、それはrollup.js
を使用してバンドルさ:// talker.js
class Talker {
talk(msg) {
console.log(this.say(msg))
var t = setTimeout(this.talk, 5000, 'hello again');
}
say(msg) {
return msg
}
}
export default Talker
// app.js
import Talker from './taker.js'
const talker = new Talker()
talker.talk('hello')
私が取得します
これはなぜでしょうか?
更新:申し訳ありませんが、私は擬似コードを入れるときに行を追加するのを忘れました。私がsetTimeout
とコールバックすると実際に起こります。私はコードを更新しました。
'console.log(this)'は 'talk()'に何を表示しますか? – Ryan
'' 'Talker {} __proto__ : オブジェクト' '' – CUGreen
エクスポートとインポートの行なしで1つのファイルでコードを実行すると問題なく動作します。 – RobG