|
|
|
สอบการเรียกตัวแปร จาก function callback success จาก lib webtwin |
|
|
|
|
|
|
|
Code (JavaScript)
var imageBase64;
this.DWObject.ConvertToBase64(
aryIndices,
Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
asyncSuccessFunc,
asyncFailureFunc
);
function asyncSuccessFunc(
base64Result,
newIndices,
enumImageType,
_arguments
) {
var length = base64Result.getLength();
imageBase64 += base64Result.getData(0, length);
}
function asyncFailureFunc(
errorCode,
errorString,
newIndices,
enumImageType,
_arguments
) {
alert(
"ErrorCode: " +
errorCode +
"\r" +
"ErrorString:" +
errorString
);
}
console.log(imageBase64)
ผมต้องการเรียน ตัวแปร imageBase64 ออกมา ตอนนี้มันเกิด undefined ค่าของมัน
function ข่างบนนี้ ต้องเรียกค่ามาแบบไหนครับ ขอบคุณครับ
Tag : MySQL, JavaScript, Ajax, jQuery, Node.js
|
ประวัติการแก้ไข 2021-06-02 08:04:14
|
|
|
|
|
Date :
2021-06-02 07:36:56 |
By :
menphurk |
View :
687 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้า console.log(base64Result) ใน asyncSuccessFunc ไม่ใช่ undefined หรือมีข้อมูล
แสดงว่า console.log(imageBase64) ล่างสุด อ่านก่อน ConvertToBase64() จะทำงานเสร็จ
ลองเรียกเป็นฟังก์ชันใน asyncSuccessFunc เช่น
Code (JavaScript)
//var imageBase64;
this.DWObject.ConvertToBase64(
aryIndices,
Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
asyncSuccessFunc,
asyncFailureFunc
);
function asyncSuccessFunc(
base64Result,
newIndices,
enumImageType,
_arguments
) {
var length = base64Result.getLength();
//imageBase64 += base64Result.getData(0, length);
toDoAfterConvert(base64Result.getData(0, length));
}
function asyncFailureFunc(
errorCode,
errorString,
newIndices,
enumImageType,
_arguments
) {
alert(
"ErrorCode: " +
errorCode +
"\r" +
"ErrorString:" +
errorString
);
}
function toDoAfterConvert(imageBase64) {
console.log(imageBase64);
}
|
ประวัติการแก้ไข 2021-06-02 15:22:06
|
|
|
|
Date :
2021-06-02 15:21:37 |
By :
TheGreatGod_of_Death |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
this.DWObject.ConvertToBase64(
aryIndices,
Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
asyncSuccessFunc( parameter ทั้งหมดที่ต้องใช้ ),
asyncFailureFunc( parameter ทั้งหมดที่ต้องใช้ )
);
ที่นี้ ใน function ที่ให้มา มันไม่ได้มีการทำงาน กับตัวแปร image อะัไรนั่นเลย
ถ้าไม่มีการกำหนดค่าให้มัน มันก็ต้อง error อยู่แล้วครับ
|
ประวัติการแก้ไข 2021-06-02 20:51:38
|
|
|
|
Date :
2021-06-02 20:49:43 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 5 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-06-02 23:06:31
รายละเอียดของการตอบ ::
ก่อนทีย้าย
Code (JavaScript)
function toDoAfterConvert(imageBase64) {
//console.log(imageBase64);
let datalotimport = {
Barcode_text,
imageBase64
};
console.log(datalotimport);
this.$store.commit("lottory/import", datalotimport);
}
ฝั่งของ store
Code (JavaScript)
export const state = () => ({
lists: []
})
export const mutations = {
import (state, payload) {
console.log(payload);
// var res = payload.Barcode_text.split("-");
// var draw_no = res[1];
// var set_no = res[2];
// var number = res[3];
// state.lists.push({
// draw_no,
// set_no,
// number,
// original_quantity: 1,
// quantity: 1
// })
},
remove(state, { lotto }) {
state.lists.splice(state.lists.indexOf(lotto), 1)
}
}
ถ้าไม่ได้อยู่ function asyncSuccessFunc ค่ามันทำงานนะครับ แต่พอย้ายมาไว้ใน function ค่ากลับหายไป
console.log แล้ว ค่ามาหมดครับ แต่พอกลับไปอยู่ใน $store ค่าไม่มาครับ
|
|
|
|
|
Date :
2021-06-02 23:23:30 |
By :
menphurk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 4 เขียนโดย : menphurk เมื่อวันที่ 2021-06-02 21:40:24
รายละเอียดของการตอบ ::
ขอโทษอ่านโค๊ดไม่ละเอียด
ลองสลับการวางโค๊ด โค๊ดมันยังไม่ประกาศ หรือเปล่า เลยมองไม่เห็น
Code (JavaScript)
var imageBase64;
function asyncSuccessFunc( base64Result, newIndices, enumImageType, _arguments {
var length = base64Result.getLength();
imageBase64 += base64Result.getData(0, length);
}
function asyncFailureFunc( errorCode, errorString, newIndices, enumImageType, _arguments ) {
alert(
"ErrorCode: " +
errorCode +
"\r" +
"ErrorString:" +
errorString
);
}
this.DWObject.ConvertToBase64(
aryIndices,
Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
asyncSuccessFunc,
asyncFailureFunc
);
console.log(imageBase64)
อีกอย่าง function นี้ this.DWObject.ConvertToBase64() เป็น แบบ asyncronize หรือเปล่า
คือในโค๊ดมีการทำงาน กับ dialogbox หรือ request url ซึ่งต้องรอ การ activate event อื่นๆ
ต้องรอการทำงาน ให้จบก่อน ถีงจะแสดงค่าได้ ลองดูตรงนี้
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await
|
ประวัติการแก้ไข 2021-06-03 08:30:46
|
|
|
|
Date :
2021-06-03 08:21:56 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 6 เขียนโดย : menphurk เมื่อวันที่ 2021-06-02 23:23:30
รายละเอียดของการตอบ ::
เพื่อความเข้าใจตรงกัน ขอถามอีกครั้ง
1. console.log(base64Result) ใน asyncSuccessFunc ได้อะไร
2. หลังจาก กำหนดค่าและเรียก toDoAfterConvert จาก asyncSuccessFunc แบบนี้
var length = base64Result.getLength();
toDoAfterConvert(base64Result.getData(0, length));
แล้วใน
function toDoAfterConvert(imageBase64) {
console.log(imageBase64); // ตรงนี้ได้อะไร
}
3.
Code
function toDoAfterConvert(imageBase64) {
//console.log(imageBase64);
let datalotimport = {
Barcode_text,
imageBase64
};
console.log(datalotimport); // มี Barcode_text ติดมาด้วยหรือไม่
this.$store.commit("lottory/import", datalotimport); // หลังจาก commit ดูคำถามต่อไป
}
4. ใน store
Code
import (state, payload) {
console.log(payload); // ตรงนี้ได้อะไร ใช่ payload หรือไม่ที่ไม่มีข้อมูล
|
|
|
|
|
Date :
2021-06-03 12:08:11 |
By :
TheGreatGod_of_Death |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|