דילוג לתוכן

פיתוח ועיצוב אתרים

611 נושאים 5.3k פוסטים

קטגוריות משנה


  • מערכות ניהול תוכן ליצירה ותחזוקה של אתרי אינטרנט

    346 3k
    346 נושאים
    3k פוסטים
    ע"ה דכו"עע
    @דוד-33 כתב בשיתוף | "AIלמנט" מאגר הגרפיקה היהודית החינמית: @ezerphone @דוד-33 מה שכולם העלו איפה רואים את התמונות שאנשים מעלים? בדף הראשי, אבל יש עכשיו תקלה.
  • פיתוח web צד לקוח וצד שרת

    265 2k
    265 נושאים
    2k פוסטים
    ע
    @ע-ה-דכו-ע אז GPT הביא לי תיקון: הבעיה בקוד שלך היא שקריאת execFile היא אסינכרונית, ולכן הפקודה console.log(` התוצאה היא ${textFromSpeech}`); call.id_list_message([...]); מתבצעת לפני שהפונקציה הפנימית של execFile סיימה לרוץ — כלומר, לפני ש־textFromSpeech עודכן בפועל. כדי לתקן זאת, יש לעטוף את execFile ב־Promise ולחכות לה באמצעות await. כך זה צריך להיראות: import { execFile } from 'child_process'; import { promisify } from 'util'; const execFileAsync = promisify(execFile); let textFromSpeech = ""; let ans = await call.read([{ type: 'text', data: "אנא הקלט משהו" }], "record"); console.log("ans:", ans); try { // מריץ את הסקריפט פייתון וממתין לתוצאה const { stdout } = await execFileAsync("python3", [ "/home/node.stamandsefer.co.il/public_html/recognize.py", ans ]); textFromSpeech = stdout.trim(); // הסר רווחים ושורות מיותרות console.log(`התוצאה היא: ${textFromSpeech}`); await call.id_list_message([ { type: 'text', data: `התוצאה היא ${textFromSpeech}` } ]); } catch (error) { console.error("Error:", error); await call.id_list_message([ { type: 'text', data: "אירעה שגיאה בעיבוד האודיו" } ]); } הסבר קצר: promisify(execFile) הופך את הפונקציה לגרסה תואמת ל־await. השורה await execFileAsync(...) גורמת לקוד להמתין עד שפייתון יסיים לעבד את הקלט ויחזיר פלט. לאחר מכן אתה יכול להשתמש בתוצאה בביטחון, בלי שהקוד ירוץ מוקדם מדי. אם תרצה — אפשר להוסיף גם טיפול במקרה שהקלט ans לא מכיל נתיב לקובץ תקין או שההקלטה נכשלה. די כמו שאמרת תודה רבה לכולם