ES6 モジュールと、それらの間の関数をコールバックとして正しく呼び出す方法について質問があります。
「page_API.js」を取り、データを受信するとコールバック関数が呼び出されます
// Make a call to our server, Once we've recieved data we'll call our callback
import {requestExecuteAsync} from "../xml_functions";
export const getData = () => {
requestExecuteAsync('api/getData', "dataRecieved");
};
export const dataRecieved = () => {
alert('Recieved Data');
};
この requestExecuteAsync などを処理する「xml_functions.js」で、サーバーが応答したら dataRecieved を呼び出したいと思います。
以前は、私が扱っていたコードベースは多くの JS ファイルで構成され、すべての関数がグローバル名前空間に存在していたため、関数は次のように機能していました。
// once data has been retrieved from server
if (callbackparamsArr.length) {
window[callback](res, callbackparamsArr);
} else {
window[callback](res);
}
ただし、dataRecieved のスコープがなくなったため、コールバック関数はウィンドウで未定義になりました。
xml_functions 内に dataRecieved 関数を含めてみました
import { dataRecieved } from "../MyPage/MyPage_API.js";
そして、ただ電話する
[callback](res)
しかし、「dataRecieved」インポートが requestExecuteAsync で定義されている別の文字列を与えられているため (例えば、「dataRecieved」ではなく「_Data_Recieved_」と呼ばれます。どうすればよいかわかりません。
どんな助けでも大歓迎です!
ありがとう