>

이 콜백 시나리오를 async/await로 바꾸는 방법을 알아 내려고 노력합니다

이 페이지에 있습니다 : https://github.com/XeroAPI/xero-node

[발췌]

/* Called per page */
const onContacts = (err, response, cb) => {
    let contacts = response.data;
    if (response.finished) // finished paging
        ....
    cb(); // Async support
};
xeroClient.core.contacts.getContacts({ pager: {start:1 /* page number */, callback: onContacts}})
    .catch(err => {
        console.log(`Oh no, an error: ${err}`);
    });

나는 콜백 100 %에 대해 머리를 갖지 못했지만 async/await 구조와 구문을 선호합니다. 이것으로 가능합니까?

시간 내 주셔서 감사합니다.

수정 :

연락처를 통해 페이지에 옵션을 추가 할 수 있어야하므로 실제 페이징이 포함 된 스 니펫을 게시 할 수 있다면 .. 다음을 시도했지만 작동하지 않습니다 (오류 또는 아무것도 없음).

const opts = {
    pager: {start:1} 
}
const getContacts = async(opts) => {
    try {
      const contacts = await xeroClient.core.contacts.getContacts(opts);
    }
    catch(e) {
        console.log(e)
      //when error
    }
   };

  • 답변 # 1

    알았습니다.

    async function getContacts(){
        try {
            let contacts = await xeroClient.core.contacts.getContacts({
                params: {
                    Page: 1
                }           
            })
            return contacts
    
        } catch (error) {
            console.log(error)
        }
    }
    
    

  • 이전 java - Configurationproperties (시스템이 지정된 파일을 찾을 수 없음)
  • 다음 Delphi 코드 소스에서 긴 문자열을 여러 행으로 나누는 방법은 무엇입니까?