함수에서 반환 된 API 응답이 정의되지 않음을 반환합니다.

psd

그래서 두 개의 js 파일 file1.js가 있습니다.

const { expect } = require("chai");
const { createEnrollment } = require("../utils/file2")
describe('create enrollment', function () {
   it('enroll the user into the system',  async function () {
        var x = createEnrollment(inputParams)
        console.log(x)

    })

File2.js

const fetch = require('node-fetch')
async function createEnrollment(params) {
fetch('URL').then(function (response) {
response.json().then(function (text) {
  var val = text;
  console.log("VALUE " + val.userId)
  return text;
});
module.exports = { createEnrollment }

하지만이 코드를 실행하면 console.log (x)가 정의되지 않고 createEnrollment가 완료되기 전에 실행됩니다. 함수를 비동기로 만들었지 만 여전히 반환되는 값은 정의되지 않았습니다.

mgarcia

함수 내부에 무언가를 async하지 않는 것처럼 선언 할 필요가 없습니다 await.

비동기 함수가 해결 될 때까지 기다려야합니다. 이를 수행하려면 (비동기 / 대기없이) 약속이 해결 될 때까지 기다릴 수있는 액세스 권한이 있어야합니다. 따라서 createEnrollment메서드 에서 promise를 반환해야합니다 .

function createEnrollment(params) {
    // Note the return before the fetch!
    return fetch('URL')
        .then(function(response) {
            return response.json();
        })
        .then(function(text) {
            var val = text;
            console.log("VALUE " + val.userId)
            return text;
        });

이제 테스트에서 약속이 해결 될 때까지 기다릴 수 있습니다.

describe('create enrollment', function () {
    it('enroll the user into the system', function () {
        // The return here is intended for the test to wait until the promise is fullfilled.
        return createEnrollment(inputParams).then(function(x) {
            console.log(x);
        });
    });
});

또는 async / await 구문을 사용하는 경우 :

async function createEnrollment(params) {
    const response = await fetch('URL');
    const text = await response.json();
    return text;
}
describe('create enrollment', function () {
    it('enroll the user into the system', async function () {
        const x = await createEnrollment(inputParams);
    });
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

뷰에 의해 호출 된 함수에서 HTTP 응답을 반환합니다.

분류에서Dev

연속 된 여러 REST API 호출이 정의되지 않음을 반환합니다.

분류에서Dev

node.js에서 반환 된 단일 응답이 정의되지 않았습니다.

분류에서Dev

VueJS는 생성 된 함수에서 정의되지 않음을 반환합니다.

분류에서Dev

값이 반환 되더라도 비동기 함수는 정의되지 않음을 반환합니다.

분류에서Dev

반응에서 API에서 특정 수의 항목을 반환합니다.

분류에서Dev

Fetch API-반환 된 변수가 정의되지 않음

분류에서Dev

API가 redux saga에서 응답을 반환 할 때까지 페이지 렌더링을 중지합니다.

분류에서Dev

속성이 테이블에 정의되지 않음을 반환합니다.

분류에서Dev

JS 재귀 함수 : 재귀없이 잘 작동하며 재귀 사용시 "정의되지 않음"과 함께 응답을 반환합니다.

분류에서Dev

함수가 정의되지 않음을 반환합니다.

분류에서Dev

OpenWeatherMap API가 '정의되지 않음'을 반환합니다.

분류에서Dev

Google Maps API는 "정의되지 않음"을 반환합니다.

분류에서Dev

Web API 2에서 400 Bad Request 응답이있는 오류 메시지 목록을 반환합니다.

분류에서Dev

arping과 함께 스푸핑 된 IP 옵션을 사용하면 응답이 반환되지 않습니다.

분류에서Dev

중첩 된 문서의 Document.get이 정의되지 않은 것을 반환합니다.

분류에서Dev

Quandl API는 Google appscript에서 HTML 응답을 반환합니다.

분류에서Dev

날씨 지하 3 일 예측 JSON 응답이 정의되지 않음을 반환합니다.

분류에서Dev

'a'로 구성된 목록이면 true를 반환하고 그렇지 않으면 false를 반환하는 함수를 Haskell에서 정의합니다.

분류에서Dev

이것으로 변수에 액세스하면 맵에서 정의되지 않음을 반환합니다.

분류에서Dev

JSON 변수는 정의되지 않음을 반환합니다.

분류에서Dev

메서드가 정의되지 않음을 반환합니다.

분류에서Dev

교차 도메인 jQuery Ajax 응답이 정의되지 않음을 반환합니다.

분류에서Dev

API에서 결과 가져 오기가 정의되지 않음을 반환합니다.

분류에서Dev

의도 된 응답을 반환하지만 HTML이 아닌 AJAX가 반영되지 않음

분류에서Dev

"this"는 다른 함수 React에서 반환 된 익명 함수 내부에서 정의되지 않았습니다.

분류에서Dev

전달 된 Ajax 매개 변수가 정의되지 않음을 반환합니다.

분류에서Dev

componentWillReceiveProps가 호출 된 후 매개 변수가 정의되지 않음을 반환합니다.

분류에서Dev

필터가 실행 된 후 객체 배열이 정의되지 않음을 반환합니다.

Related 관련 기사

  1. 1

    뷰에 의해 호출 된 함수에서 HTTP 응답을 반환합니다.

  2. 2

    연속 된 여러 REST API 호출이 정의되지 않음을 반환합니다.

  3. 3

    node.js에서 반환 된 단일 응답이 정의되지 않았습니다.

  4. 4

    VueJS는 생성 된 함수에서 정의되지 않음을 반환합니다.

  5. 5

    값이 반환 되더라도 비동기 함수는 정의되지 않음을 반환합니다.

  6. 6

    반응에서 API에서 특정 수의 항목을 반환합니다.

  7. 7

    Fetch API-반환 된 변수가 정의되지 않음

  8. 8

    API가 redux saga에서 응답을 반환 할 때까지 페이지 렌더링을 중지합니다.

  9. 9

    속성이 테이블에 정의되지 않음을 반환합니다.

  10. 10

    JS 재귀 함수 : 재귀없이 잘 작동하며 재귀 사용시 "정의되지 않음"과 함께 응답을 반환합니다.

  11. 11

    함수가 정의되지 않음을 반환합니다.

  12. 12

    OpenWeatherMap API가 '정의되지 않음'을 반환합니다.

  13. 13

    Google Maps API는 "정의되지 않음"을 반환합니다.

  14. 14

    Web API 2에서 400 Bad Request 응답이있는 오류 메시지 목록을 반환합니다.

  15. 15

    arping과 함께 스푸핑 된 IP 옵션을 사용하면 응답이 반환되지 않습니다.

  16. 16

    중첩 된 문서의 Document.get이 정의되지 않은 것을 반환합니다.

  17. 17

    Quandl API는 Google appscript에서 HTML 응답을 반환합니다.

  18. 18

    날씨 지하 3 일 예측 JSON 응답이 정의되지 않음을 반환합니다.

  19. 19

    'a'로 구성된 목록이면 true를 반환하고 그렇지 않으면 false를 반환하는 함수를 Haskell에서 정의합니다.

  20. 20

    이것으로 변수에 액세스하면 맵에서 정의되지 않음을 반환합니다.

  21. 21

    JSON 변수는 정의되지 않음을 반환합니다.

  22. 22

    메서드가 정의되지 않음을 반환합니다.

  23. 23

    교차 도메인 jQuery Ajax 응답이 정의되지 않음을 반환합니다.

  24. 24

    API에서 결과 가져 오기가 정의되지 않음을 반환합니다.

  25. 25

    의도 된 응답을 반환하지만 HTML이 아닌 AJAX가 반영되지 않음

  26. 26

    "this"는 다른 함수 React에서 반환 된 익명 함수 내부에서 정의되지 않았습니다.

  27. 27

    전달 된 Ajax 매개 변수가 정의되지 않음을 반환합니다.

  28. 28

    componentWillReceiveProps가 호출 된 후 매개 변수가 정의되지 않음을 반환합니다.

  29. 29

    필터가 실행 된 후 객체 배열이 정의되지 않음을 반환합니다.

뜨겁다태그

보관