const loader_1 = new GCodeLoader();
const loader_2 = new AMFLoader();
let ask_1 = true;
let ask_2 = true;
async function main() {
console.log('Start load')
if (ask_1){
const amfobject = await loader_1.loadAsync( './models/amf/rook.amf');
scene.add( amfobject );
console.log('on loader AMF', amfobject);
}
if (ask_2){
const object = await loader_2.loadAsync( 'models/gcode/benchy.gcode');
scene.add( object );
console.log('on loader GCode', object);
}
console.log('END load')
}
main();
Promise
- это просто хитрая надстройка надо коллбэками(полностью реализуемая на обычном js), позволяющая развернуть их порядок назначения - не более. async-await
- просто синтаксический сахар над Promise
, делающий оные менее многословными, но не меняющий механизма. http_response_code
редиректа (30х).setTimeout
вместо функции, использовано document.location
вместо window.location
.anotherReplace: [/\(\.\*\)$/, ':name']
function strReplace = (str, anotherReplace = null) => {
str = str
.replace(что-то заменяем)
.replace(eщё что меняем);
if (anotherReplace)
str = str.replace(anotherReplace[0], anotherReplace[1]);
return str;
}
export class IResultItem {
constructor(
public id: i32,
public type: string,
public date: string,
public from: string,
public from_id: i32,
public text: string
) {}
}
export function add(
result: IResultItem[] = [new IResultItem( 1, "type", "25.25.2025", "rew", 123, "hello" )]
): IResultItem[] {
return result;
}
function makeUser() {
return {
name: "Джон",
get ref(){
return this
}
};
};
let user = makeUser();
console.log(user.ref);
import from
надо чтобы в конечном файле был соответствующий export
(т.е. тот файл тоже должен быть модулем). Простой import
- это просто подключение скрипта как есть, всё равно что загрузка через <script>
.npm
пакеты содержат разные версии дистрибутивов под разные способы подключения. Надо посмотреть куда указывает module
(а не main
) в package.json
и именно этот файл можно будет подключать через import from
.module
в package.json
нет - значит библиотека не поддерживает современные es модули, увы, и придётся её использовать по-старинке(хотя лучше проверить глазами js файлы, изредка забывают указать). Именно такая ситуация наблюдается с lodash
, однако есть либа lodash-es
, которая решает эту проблему.main
в package.json
). Но из коробки без соответствующих либ они уже работать не будут.